C语言大型软件设计的面向对象
来源:互联网 发布:梦三国2mac版本 编辑:程序博客网 时间:2024/05/18 03:43
C 原本是面向过程的语言,自身没有內建面向对象的特性,但我们还是可以利用 C 语言本身已有的特性来实现面向对象的一些基本特征。
今天我们给大家推荐一门《C语言大型软件设计的面向对象》课程,11月16日(下周四)宋宝华老师将线上直播,与您讨论 C 语言面向对象的技术难点、疑点。
1.面向对象的概念
面向对象的语言-
与已往的各种语言的根本不同是,它的设计出发点就是为了更能直接的描述问题域中客观存在的事物。
一切皆对象,对象来源于生活高于生活。
将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
是一种符合人们思考习惯的思想,可以将复杂的事情简单化,将程序员从执行者转换成了指挥者
面向对象的特征:
①封装(encapsulation)。封装是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。封装有四大好处:
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员进行更精确的控制。
- 隐藏信息,实现细节。
②继承(inheritance)。继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
③多态(polymorphism)。所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。
2.C语言实现封装、函数指针
在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。函数指针是通过函数名及有关参数进行调用的。
3、从一个命令解析器的案例开始
a. 过程化程序设计b. 采用封装思想设计
4.一个嵌入式图形框架的C面向对象
5.C语言实现继承和多态,模拟虚函数
6.提炼软件的中间层
7.综合案例,对象式思维锻炼
更多细节,您可以点击下方课程入口进入了解:
讲师介绍:
宋宝华老师有10几年的Linux开发经验。他长期在著名跨国企业担任一线工程师和系统架构师,编写大量的Linux代码,并负责审核其他同事的代码。他是Linux的活跃开发者,在Linux主线内核提交了4万行以上的代码和几百个补丁,曾担任一ARM SoC在Linux社区的maintainer工作。他也是China-pub 2008年度“十大畅销经典”,“十佳原创”图书《Linux设备驱动开发详解》的作者,他曾为许多知名企业提供嵌入式Linux企业培训和技术服务,受到企业广泛好评。
课程介绍:
C语言代码一旦达到一定规模,就特别强调良好的架构设计,以保证代码的可读性好、代码简洁以及可复用。此时,软件设计师势必要用C语言来做面向对象的设计。不能克服面向对象这一关,也是很多人无法读懂Linux内核、驱动等架构比较庞大的软件的主要技术壁垒之一,因为这些软件里面充满了对象式的设计。 本课程以案例来详细讲解,用C语言如何设计面向对象的程序。
课程特色:专属答疑+课件资料提供+视频无限时回放+VIP交流群
开课时间:随到随学,自由支配
- C语言大型软件设计的面向对象
- CSDN直播《C语言大型软件设计的面向对象》
- 倒计时:11.16今晚8点CSDN直播《C语言大型软件设计的面向对象》
- 面向对象软件设计的基本原则
- 面向对象技术的软件设计
- 面向对象的软件设计原则
- 可复用面向对象的软件设计
- C语言的面向对象
- 面向对象的c语言
- 面向对象软件设计遵循的原则
- 面向对象编程的软件设计原则
- 面向对象软件设计遵循的原则
- C语言面向对象
- C语言面向对象
- 软件设计本质论(Essential Design) —白话面向对象 (转注:关于c语言实现封装继承多态的一堆博文)
- 面向对象软件设计原则
- 软件设计研究 - 面向对象
- 面向对象软件设计说明书
- RadioButtonList 选项的水平排列 自动换行
- 打包签名,设置默认签名文件为自己的签名jks
- 斐波那契数列的鬼畜的性质
- 机器学习、人工智能 博文链接汇总
- 【JVM】12_空间分配担保
- C语言大型软件设计的面向对象
- Linux备用常用笔记——etc目录下主要配置文件解释
- java 转 Kotlin 快速入门①
- php单双引号以及特殊字符解析、php界定符
- 使用C++ STL需要注意的事项
- ubuntu下编写html文件
- lvm磁盘管理(新建,扩充,缩减,快照)
- Android MTK N 平台上如何在桌面上添加未接来电和未接信息数字角标
- Tomcat、JBoss和weblogic异同