c++既支持面向对象也支持面向过程,c语言面向过程。
c语言的局限性:数据后于功能,嵌入式产品开发中,早期的小型化产品能满足,且c语言语法使用灵活,但开发效率、可维护性、UI开发等都比c++弱很多。
嵌入式产品开发使用的开发语言常常多种配合,c语言完成系统底层核心功能的编写,c++完成项目的应用部分。
面向对象的程序设计方法把状态(数据)和行为(功能)捆绑在一起,形成对象。
面向对象的特征:
1、封装:将对象的行为和状态捆绑到一个单一的逻辑单元机制的正式术语。
c语言中用结构封装数据,函数封装逻辑;c++封装了数据和逻辑,更安全,利于维护。
2、继承:定义新类的一种机制,创建新类只需要申明新类和已创建类的差别,减少代码的冗余。
3、多态:指属于两个或多个不同类的对象以各自类相关的不同方式响应同一消息,多态增加了代码的灵活性和可扩充性。
面向对象的设计理念:
1、开闭原则 2、替换原则 3、依赖原则 4、接口分离原则