C++面向对象

面向对象(Object Oriented,OO)

C++ 是在 C 语言 基础上增加了一个很重要的功能,就是面向对象编程。正因为面向对象的存在,使得 C++ 可以用来开发中大型项目。并且在设计之初,C++ 就被设计成支持面向对象的编程语言。

起初,“面向对象” 是指在程序设计中采用封装、继承、多态等设计方法。现在,面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及面向对象的编程实现(OOP,Object Oriented Programming)。

什么是类

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。

类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

什么是对象

对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。

对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

什么是属性

类中的所有 变量 称为属性。

什么是方法

类中的所有 函数 通常称为方法。不过,和函数所有不同的是,类方法至少要包含一个 self 参数,类方法无法单独使用,只能和类的对象一起使用。

对象和类的关系

类与对象的关系就如模具和铸件的关系,类的实力化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。