大话面向对象
本专栏将以分析面向对象的意图和逻辑出发,探索面向对象为何物。从而避免对面向对象的死记硬背,因为面向对象的许多要求无不合情合理,符合逻辑。从而快速设计和实现出充满面向对象意味的类。
五道口纳什
wx公众号/B站:五道口纳什
展开
-
面向对象——类设计(一)
1. 实现一个类的顺序2. 私有成员函数2. 构成重载 vs 不构成重载?3. 默认构造和默认析构4. 为多态基类声明virtual析构函数原创 2015-11-20 15:14:06 · 1906 阅读 · 0 评论 -
面向对象——类设计(二)
1. 拷贝构造2. 类的分类2. clone()方法的实现3. 对私有成员变量和私有成员函数的认识私有成员变量和私有成员函数一样只开放给自己,所谓只开放给自己,4. 私有成员函数 ==》 让公有成员函数的生活更美好5. (私有)成员变量是一个类的中心和本质成员变量与类的赋值运算符重载原创 2016-02-21 11:39:51 · 1370 阅读 · 0 评论 -
面向对象 —— 结构与设计
1. 模型类与控制类让保存数据的类,仅用于数据的持有,除此之外,不向外界提供过多的修改接口(甚至是访问接口),修改(有时是访问)接口统一交由其控制类。举一个不恰当的例子,试卷类仅用于记录成绩,只有教师类(控制类)可对成绩进行一系列的修改和访问。让控制类(操纵数据的类),仅用于操作动作(而不保存数据),操纵的方式主要有两种:维护模型类的对象作为控制类的私有成员变量将模型类的实例以参数原创 2016-02-28 12:04:42 · 1328 阅读 · 0 评论 -
面向对象 —— 静态成员(变量与方法)
面向对象 —— 类设计(一) 面向对象 —— 类设计(二) 面向对象 —— 类设计(三) 面向对象 —— 类设计(五) 普通成员变量,也即普通属性,属于类的各个实例化对象。那么该如何判断类的成员方法是不是静态的呢? 就看它是否需要访问类的非静态成员(在其方法内部会否用到类的普通成员变量/方法);如果没用到类的普通成员变量/方法,也就是不需要该变量或方法,也就是不依赖于类的实例原创 2016-03-01 18:08:53 · 1262 阅读 · 0 评论 -
面向对象——类设计(五)
空参空实现的构造函数派生类构造函数的初始化参数列表原创 2016-03-01 19:04:15 · 1146 阅读 · 0 评论 -
面向对象——意图与逻辑(四)
1. C++中的 get、set 方法2. Java/C++ 对多态的支持原创 2015-11-20 12:10:30 · 1225 阅读 · 0 评论 -
面向对象——意图与逻辑(三)
const 型函数原创 2016-03-14 23:23:25 · 1131 阅读 · 0 评论 -
面向对象——意图与逻辑
编程语言中关键字的本质是什么?是向编译器传达一些信息。何谓意图与逻辑这样古怪的词?比如,对编译器而言,出现const修饰符,就是告诉(意图)编译器,“我不是左值,不可被修改,所有的修改动作都是非法的”。1. virtual同样对于一个类,在该类中兹要出现一次的virtual关键词,就表明,该类是用于继承关系的基类,更进一步,该类中存在纯虚函数(不给出函数体,impure 函...原创 2016-02-27 21:54:05 · 1412 阅读 · 0 评论 -
面向对象——私有成员
私有成员:私有成员变量,私有成员函数;对私有成员变量和私有成员函数的认识 私有函数的存在,避免冗余代码;私有成员变量和私有成员函数一样只开放给自己,所谓只开放给自己,对私有成员函数而言,私有成员函数仅供当前类的其他私有成员函数以及公有函数调用,所以在设计与实现一个类时,应当优先设计一个类的私有成员函数,然后是依赖于该私有成员函数的其他函数。对私有成员变量而言,即是除了当前所属类,其他类无原创 2016-02-24 14:23:34 · 1728 阅读 · 0 评论