面向对象在思维不在语言之C 语言多态实现例子
//C语言多态例子
//951868692@qq.com
#include <stdio.h>
typedef struct
{void (*run)(void);void (*fly)(void);void (*speak)(void);
}funInterface_t;//小红实现
static void xiaohongRun(void)
{printf("xiaohong run....\n");
}
static void xiaohongFly(void)
{printf("xiaohong fly...\n");
}
static void xiaohongSpeak(void)
{printf("xiaohong speak...\n");
}
funInterface_t xiaohong_implement_funInterface =
{.run = xiaohongRun,.fly = xiaohongFly,.speak =xiaohongSpeak,
};
//小明实现
static void xiaomingRun(void)
{printf("xiaoming run....\n");
}
static void xiaomingFly(void)
{printf("xiaoming fly...\n");
}
static void xiaomingSpeak(void)
{printf("xiaoming speak...\n");
}
funInterface_t xiaoming_implement_funInterface =
{.run = xiaomingRun,.fly = xiaomingFly,.speak= xiaomingSpeak,
};int main(void)
{funInterface_t* xiaohong= &xiaohong_implement_funInterface;funInterface_t* xiaoming= &xiaoming_implement_funInterface;printf("run....\n");xiaohong ->run();xiaohong ->fly();xiaohong ->speak();xiaoming ->run();xiaoming ->fly();xiaoming ->speak();return 0;
}
//C语言在线测试网站
//http://www.dooccn.com/c/
面向对象在思维不在语言之C 语言多态实现例子相关推荐
- Java初学者入门经典:面向对象的思维方法(其实同样非常适合C#的初学者)……非原创,作者忘了,非常抱歉...
我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性和高效性,喜欢C简练而表达能力丰富的风格,特别忍受不了J ...
- 2、面向对象的思维(与结构化思维比较)
2.1 方法背景 结构化思想和面向对象思想虽都产生于20世纪60年代,但它们却存在根本差别.结构化方法承袭了传统的编程思想与编程方法,以计算机的计算功能为前提.编写程序的主要目的是数值计算.问题求解. ...
- 【Golang第8章:面向对象编程】Go语言的结构体是什么,怎么声明;Golang方法的调用和声明;go语言面向对象实例,go语言工厂模式;golang面向对象的三大特性:继承、封装、多态
介绍 这个是在B站上看边看视频边做的笔记,这一章是Glang面向对象编程 这一章内容较多,内容有Go语言的结构体是什么,怎么声明:Golang方法的调用和声明:go语言面向对象实例,go语言工厂模式: ...
- JAVA面向对象的思维导图
JAVA面向对像做的一个简单的思维导图: 表格结构和类结构我们在现实生活中,思考问题.发现问题.处理问题,往往都会用"表格"作为工具.实际上,"表格思维"就是一 ...
- 面向对象的思维方法 (转)
<p>我是从学习Java编程开始接触OOP(面向对象编程),刚开始使用Java编写程序的时候感觉很别扭,因为我早以习惯用C来编写程序,很欣赏C的简洁性 和高效性,喜欢C简练而表达能力丰富的 ...
- 面向对象(类的概念,属性,方法,属性的声明,面向对象编程思维
1 面向对象 1.1 你是如何认识新事物的? 从过往的事物中总结事物的特点(特征),并比对新事物,把新事物进行归类. 1.2 类(Class)的概念(A) 类是对一组具有相同特征和行为的对象的抽象描述 ...
- android iOS 都精通,Android IOS开发要理解何为面向对象的思维
何为面向对象的思维? 面向对象 VS面向过程 OOP =>面向对象,全称Object Oriented Programming POP =>面向过程,全称Process-oriented ...
- mcem r语言代码_R语言面向对象编程:S3和R6
R语言面向对象编程:S3和R6 2017-06-10 0 R语言面向对象编程:S3和R6 一.基于S3的面向对象编程 基于S3的面向对象编程是一种基于泛型函数(generic function)的实现 ...
- 机器人技术第三次作业:用面向对象的思维设计相关类,从而实现直线与直线、直线与圆、直线与矩形的交点。
用面向对象的思维设计相关类,从而实现直线与直线.直线与圆.直线与矩形的交点. 基本思想: 直线与直线,直线与圆:利用公式直接求解 直线与矩形:分解成直线与直线的交点: #include <ios ...
- 【面向对象】用大白话扯扯那神奇的面向对象编程思维(一)
前言:每当提到面向对象的时候,初学者肯定都是一脸懵逼的状态,到底什么是面向对象?会用面向对象后有什么牛逼之处吗?不会用是不是就会死掉?答案肯定不会死掉,我们可以来简单的举一 个栗子 1.当你想到熊猫的 ...
最新文章
- 使用SCSS高亮显示控件、聚焦位置
- 使用 jetty-maven-plugin发布maven项目
- jupyter代码字体大小_你可能并不知道这样定制炫酷的jupyter主题
- 11g 64位部分安装过程
- 陶哲轩实分析命题 11.10.7
- 买卖股票类问题动态规划解法(Leetcode题解-Python语言)
- argb888与rgb888转换程序_一文了解各平台RGB565和RGB888区别
- android 时间控件使用,android 时间控件的使用
- 树状数组 / 二维树状数组
- linux权限bcd码是6,Linux权限管理(1)基本权限
- GPUImage API 文档之GPUImageFilter类
- S实现控制图片显示大小的方法【图片等比例缩放功能】
- hadoop大数据概述
- 录屏软件 Apowersoft(傲软录屏)
- SQL SERVER提示'Modify' 附近有语法错误
- w10共享网络没有计算机,win10网络共享找不到对方电脑怎么办
- Python 01--介绍、基本语法、流程控制
- 学会这三款软件,可以轻松完成录音转文字操作
- 大事件!PCIe SSD与SATA SSD同价啦
- SIMCom常见模组外围电路设计
热门文章
- vs2008 office Ribbon 界面风格初总结
- 百度公司创始人李彦宏
- iPhone “浴霸” 发布,顶配1万2!最强机器学习芯片,计算性能吊打友商
- Framework 添加新的 系统服务
- 【安全漏洞】jackson-databind漏洞、 异常NoClassDefFoundError: Could not initialize class com.fasterxml.jackson
- 交换机access和trunk口配置及应用
- 如何监控NVIDIA GPU 的运行状态和使用情况
- MFC之GDI GDI+ 编程实例剖析
- 多重签名——典型的数字签名技术
- 空調如何影響家居風水_家居风水自查