采用OOP方法时,首先从用户的角度考虑对象——描述对象所需的数据以及描述用户与数据交互所需的操作,完成对接口的描述后,需要确定如何实现接口和数据存储,最后使用新的设计方案 创建出程序。
指定基本类型完成了三项工作:
决定数据对象需要的内存数量
决定如何解释内存中的位
决定可使用数据对象执行的操作和方法
类设计尽量将公有接口与实现细节分开,程序员可以使用私有成员函数来处理不属于公有接口的实现细节
不必在类声明中使用关键字private,因为这是类对象的默认访问控制;结构的默认访问类型是public。C++程序员通常使用类来实现类描述,而把结构限制为只表示纯粹的数据对象。
为了避免成员函数的参数与数据成员名称相同,一种常用的做法是在数据成员名中使用m_前缀,另一种常用的做法是使用后缀_。
什么时候调用构造函数?
如果创建的是静态存储类对象,则其析构函数将在程序结束时被自动调用。
如果创建的是自动存储类对象,则其析构函数在程序执行完代码块时被自动调用。
如果对象时通过new创建的,则他将驻留在栈内存或自由存储区中,当使用delete来释放内存时,其析构函数被自动调用。
将const关键字放在函数的括号后面,这样就能保证函数不会修改调用对象,这种函数被称为const成员函数。制药类方法不修改调用对象就应将其声明为const。
接受一个参数的构造函数允许使用赋值语法将对象初始化微一个值。
要创建类对象数组,则这个类必须有默认构造函数。初始化对象数组的方案是,首先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时变量,然后将临时变量拷贝到相应元素中。
作用域为类的常量,不能声明为const 类型 常量名,而可以将其声明为enum{元素名=常量},这种方式声明枚举不会创建类数据成员,他只是一个符号名称;也可以使用关键字static,具体为 static const 类型 常量名 来定义常量。
相同作用域内的两个枚举很可能发生名称冲突,C++11提供了一种新枚举,在枚举关键字后加入class或struct,即可限定枚举的作用域为类内。
在有些情况下,常规枚举会自动转换为整型,但作用域内枚举不能隐式转为整型。
面向对象编程强调的是程序如何表示数据。使用OOP方法解决变成问题的第一步是根据它与程序间的接口来描述数据,从而指定如何使用数据,然后设计一个类来实现该接口。
转载于:https://my.oschina.net/shou1156226/blog/603401