当前位置: 首页 > news >正文

长春网站免费制作百度开户公司

长春网站免费制作,百度开户公司,成都市网站备案,安徽建设厅考勤网站// 前言 面向对象的java语言有着多种设计模式与特性。比如封装、继承、多态等等。 在这篇文章中,我会使用java的代码思路,实现C语言版的JAVA三大特性。 并从写代码的角度,从0开始构建。 定义结构体(对象) 设计了一…

//

前言

面向对象的java语言有着多种设计模式与特性。比如封装、继承、多态等等。
在这篇文章中,我会使用java的代码思路,实现C语言版的JAVA三大特性。
并从写代码的角度,从0开始构建。

定义结构体(对象)

设计了一个机器人结构体(对象)。
机器人有他的ID,这是他的静态特征,是主键。
机器人有制造商,不光机器人有,所有工业产品都有。
机器人有许多行为,跑、跳、检查修理日期等等。
机器人有许多内设动作,就是预设将不同行为进行排列组合。

继承

机器人是工业产品的子类,即机器人继承了工业产品。
体现在代码上就是结构体的嵌套

封装

将机器人的所有特征、行为、内置动作封装在一起。
体现在代码上就是结构体里有变量和函数指针。

typedef struct _Manufacturer {char name[10];
} Manufacturer;typedef struct _robot
{int id;Manufacturer manufacturer;                 // inheritvoid (*function)(struct _robot );          // polymorphicint  (*time2repair)(struct _robot);                     void (*process)(struct _robot );
} Robot;

多态

机器人结构体(对象)中有功能函数指针function和维修函数指针time2repair。
定义函数robot_run_function,robot_jump_function,实现function功能。
定义函数robot_time2repair,实现time2repair功能。

void robot_run_function(Robot robot) {printf("robot_id: %d, run!\n", robot.id);
}
void robot_jump_function(Robot robot) {printf("robot_id: %d, jump!\n", robot.id);
}
int robot_time2repair(Robot robot) {printf("robot_id: %d, need to repair next weekend!\n", robot.id);return 9;
}

定义函数process1,实现process功能(暂时不写)

void process1(Robot robot)
{// 进程1:先跑2次,再跳1次,最后计算修理日期
}

初始化机器人结构体(对象)。将process1赋给函数指针process,调用process。

int main() {Robot robot;Manufacturer manufacturer;strcpy(manufacturer.name, "SKF");robot.id = 2;robot.manufacturer = manufacturer;robot.process = process1;robot.process(robot);return 0;
}

最后实现process1,思路仍然是将函数赋给函数指针并调用。

void process1(Robot robot)
{// 进程1:先跑2次,再跳1次,最后计算修理日期robot.function = robot_run_function;robot.function(robot);robot.function(robot);robot.function = robot_jump_function;robot.function(robot);robot.time2repair = robot_time2repair;int remain_days = robot.time2repair(robot);printf("manufacturer: %s, id: %d, remain_days: %d\n", robot.manufacturer, robot.id, remain_days);
}

打印结果

robot_id: 2, run!
robot_id: 2, run!
robot_id: 2, jump!
robot_id: 2, need to repair next weekend!
manufacturer: SKF, id: 2, remain_days: 9
http://www.mmbaike.com/news/100526.html

相关文章:

  • 蒙自网站建设网络推广都有什么方式
  • 企业网站建设 骆诗设计简述网站内容如何优化
  • 淘宝网站链接怎么做要域名访问网站
  • 建设求职网站抖音引流推广免费软件app
  • 穆棱市住房和城乡建设局网站怎么制作网址
  • wordpress动态菜单seo有哪些作用
  • led高端网站建设搜索引擎营销策略有哪些
  • 网站修改报价成品短视频app下载有哪些
  • 招聘公司怎么做网站跨国网站浏览器
  • 做网站建设注册商标是多少类今日新闻摘抄50字
  • 代码运行框wordpress6seo关键词优化排名
  • 北京好的网站设计公司卖友情链接的哪来那么多网站
  • 网站免费制作百度如何推广广告
  • 做网站需要用到技术怎么做seo信息优化
  • 做网站哪家好如何做广告宣传与推广
  • 网站防御怎么做今日国内新闻头条15条
  • 云南网站建设公司排名制作网页的工具软件
  • 做网站基础教程建网站教程
  • 云南凡科建站哪家好最佳磁力吧ciliba磁力链
  • 做香港台湾网站流量鹤壁seo推广
  • 免费网站建设网站石家庄seo网站管理
  • 呼伦贝尔哪里做网站怎样做网站
  • 西安市城乡建设管理局网站的公示栏6网站搜索排名
  • 北京地铁优化seo网站内部优化方案
  • wordpress 链接变色成都关键词优化平台
  • 大兴网站建设报价百度163黄页关键词挖掘
  • 昆山玉山网站建设如何建立企业网站
  • seo招聘的关键词seo资讯网
  • 网页设计图片滚动代码怎么弄搜索引擎优化趋势
  • 电商网站制作成手机app线上营销推广方案