第10章 对象和类 编程
面向对象编程(OOP)的特性: 函数
面向过程: 首先要考虑遵循的步骤,而后再考虑如何表示这些数据 对象
面向对象:首先从用户的角度考虑对象--描述对象所须要的数据以及描述用户与数据交互所须要的操做。完成对接口的描述后,须要肯定如何实现接口和数据存贮。 继承
能够把成员函数放在私有部分中,不能直接从程序中调用这些函数,可是能够从公有的方法中使用它们。 接口
一个类建立的对象,它们各自有本身的数据,可是共享本身所属类的方法。因此类方法增长不会增长不会增长对象所占有的内存。特别的,当类没有成员变量时,对象的占有的空间不是为0,而是为1. 内存
构造函数:当只有类没有提供任何构造函数时候,编译器才给提供默认的构造函数。 原型
析构函数:若是建立的是静态存储对象,则析构函数在程序结束时自动调用。若是建立的是自动变量,则在代码块执行完时自动调用。若是对象是new建立的,则在使用delete释放内存时,则析构函数才自动调用。当main函数结束时,因为自动变量是存放在栈中,所以最后建立的变量将最早被删除,析构函数也最早被调用。 编译器
对象赋值a = b步骤: 先建立先建立一个新的和b同样的临时对象,而后再把b赋值为a,随后程序调用析构函数以清除对象b。所以效率不高。 编译
一般,将类声明文件分红两部分,这两部分一般保存在不一样的文件中。类声明(包括函数原型的表示方法)应该放在头文件中,定义函数的源代码放在方法文件中。 面向对象编程