
面向对象高效编程
文章平均质量分 83
To-String
Programming changes the world
展开
-
第一章 什么是面向对象编程
☺ 在面向对象编程中, 重点是正在被操作的数据, 而不是实现这些操作的过程(函数), 而且,数据和操作不像以前那样被当作彼此孤立的实体, 现在它们被看做是一个整体, 数据带有一组操作, 允许用户对数据执行一些有意义的操作,同时, 任何外部程序或函数无法直接访问数据本身, 那么修改该类中的数据唯一的方法就是使用为修改数据而提供的操作, 这些操作为修改数据的行为,注意: 面向对象编程原创 2017-06-17 12:57:56 · 424 阅读 · 0 评论 -
第三章 C++与数据抽象
● 注意 : 允许客户设置对象中的数据成员值得方法, 通常称为设值方法, 用于返回数据成员值的方法称为 获值方法。● 在C++中, 抽象的基本单元是类。● 一个设计良好的类绝不会将数据成员包含在public区域(这违反了数据抽象和封装的原则), 该区域只能包含成员函数。● 成员函数的实现可以访问在类中声明的所有成员(也就是说, 类的成员函数可以访问类作用域内的任何成员)。● 如果某程序能访原创 2017-07-05 12:14:58 · 282 阅读 · 0 评论 -
第二章 什么是数据抽象
● 我们的设计必须从客户角度出发, 不应让内部的细节打扰终端用户的使用。● 数据抽象: 在忽略类对象间存在差异的同时, 展现了对用户而言最重要的特性。的确, 抽象应该对终端用户隐藏无关紧要的细节, 避免暴露有可能分散用户注意力或与使用环境毫不相干的细节● 设计 , 或者说抽象, 就是把各个大小不一、功能各异的零部件组合起来, 在它们之间建立适当的通信机制。 进一步而言, 设计为用户提供一个原创 2017-06-25 15:10:24 · 9059 阅读 · 0 评论 -
第四章 OPP 中的初始化和无用单元收集
什么是初始化!● `int main() {int i; int j=10; i=20;}`说明: 根据C++/C 中的定义, i中的值是未定义的, 该值就是创建在 i 的内存区域中所包含的值(在运行栈上, 可能是个垃圾值), 变量 i 未初始化, 变量j代表初始值 10;注意 : 初始化是在创建变量(或常量)时, 向变量储存已知值得过程。 这意味着该变量被创建(无论以何种方式)原创 2017-07-13 12:23:19 · 687 阅读 · 0 评论 -
第5章 继承的概念
● 在任何情况下,派生类对象都是基类对象。● 派生类客户还可以添加基类中没有的新特性, 这些特性在基类接口中不可见。● 基类指针一定可以指向任何派生类对象(或者基类引用一定可以引用任何派生类对象)。● 一旦完成了基类部分的初始化,便可继续调用派生类的构造函数。 在调用基类构造函数时,编译器会查找与之匹配的构造函数(根据参数),如果未找到, 会在编译时报错。 如果省略了调用基类构造原创 2017-07-31 12:20:24 · 228 阅读 · 0 评论 -
【第十一章】 掌握数据抽象
隐藏数据抽象的细节● 在程序员创建类的对象之前,c++ 编译器要知道该类所有成员(私有、保护、公有)的细节, 因为编译器必须为对象分配足够的内存。 对象通常由客户创建,编译器在编译客户的程序时要知道类的大小,而客户只使用类的接口文件。因此, 编译器必须能仅通过类的头文件即可确定任何类对象的大小。这就是在类的头文件中必须显示类的私有成员和保护成员的唯一原因。在头文件中声明类的所有数据成员还有一个原创 2017-10-22 18:06:27 · 322 阅读 · 0 评论 -
【第八章】操作符重载的概念
作为成员函数的操作符● operator+= 需要一个左值。 需要通过现有对象(左值)来调用类似+=这样的操作符,这些对象将修改左值。●如果操作符 “+=” 必须通过现有对象来调用,那么便可将该操作符实现为成员函数。 通过非对象不能调用操作符“+=”,因为它需要修改调用它的对象。● 注意: 一般而言,如果重载操作符需要一个左值(它将修改第1个操作数),那么, 可将其作为成员函数来实现。这表明,原创 2017-10-08 18:08:27 · 212 阅读 · 0 评论