【C++】面向对象编程
目录
一、面向过程编程(c语言中)
主要特点:
二、面向对象编程(c++中)
主要特点
举例说明:
三、总结
四、面向对象的优点
一、面向过程编程(c语言中)
主要特点:
面向过程编程 “自顶向下,逐步细化”的思想;具体操作方法是模块化,按照功能来分所以也称功能块(函数)。
- 自顶向下设计:从总体上规划问题,然后逐步细分成多个模块和函数,每个函数完成一个具体任务。
- 数据与函数分离:数据通常以全局变量或通过参数传递的方式存在,而函数则负责处理数据和实现算法。
二、面向对象编程(c++中)
主要特点
面向对象编程将现实世界中的实体在计算机中的映射和体现,并把属性和操作数据的方法封装到一起。
现实生活中的实体分析和抽象为抽象类别,并且设计成类,类实例化后为对象,对象和实体是对应的。
举例说明:
当对银行账户的ATM机进行操作时,可以定义一个类:类中包含客户信息,开户销户操作以及取钱存钱等。当你用这个类创建一个对象时,这个对象就代表一个具体的银行账户,其属性和方法都封装在一起,操作时不需要像面向过程那样不断传递数据结构。
三、总结
-
类是一组相关的属性(变量)和行为(方法)的集合。是由一个抽象概念设计的产物
-
对象是由一个类型实例化后的具体表现形式。就具体存在的实体。
-
成员变量是对象的属性(可以是变量,指针,数组等),属性的值确定对象的状态。
-
成员函数是对象的方法,确定对象的行为.
总之,面向过程强调的是程序流程和函数的调用,而面向对象则是以现实中的实体为蓝本,通过类和对象将数据和行为紧密结合起来。两者各有优缺点,选择哪种编程范式主要取决于具体的问题和项目规模。
四、面向对象的优点
-
1.对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复性和可维护性,降低了程序员保持数据与操作相容的负担。
-
2.对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性,提高可控性的目的。
-
3.对象作为独立的整体具有良好的自恰性,即它可以通过自身定义的操作来管理自己。一个对象的操作可以完成两类功能,一是修改自身的状态,二是向外界发布消息。
-
4.在具有自恰性的同时,对象通过一定的接口和相应的消息机制与外界联系。这个特性与对象的封装性结合在一起,较好地实现了信息的隐藏。
-
5.通过继承可以很方便地实现应用的扩展和已有代码的重复使用。总结: 面向对象程序设计是将数据及数据的操作封装在一起,成为一个不可分割的整体,同时将具有相同特性的实体抽象成为一种新的数据类型----类。通过对象间的消息传递是整个系统运转。