高效C++ --经验条款(三)
给多态基类声明virtual析构函数:
“给base classes一个virtual析构函数”,这个规则只适用于带有多态性质的base classes身上。这种base classes的设计目的是为了用来“通过base class接口处理derived class对象”。
并非所有base classes的设计目的都是为了多态用途。例如标准stirng和ST...
分类:
编程语言 时间:
2014-12-14 22:47:10
阅读次数:
218
六大原则的起因:面向对象中封装、继承、多态三大支柱蕴含了用抽象来封装变化,降低耦合,实现复用的精髓。
封装:隐藏内部实现,保护内部信息。
继承:实现复用,归纳共性。
多态:改写对象行为,实现更高级别的继承。
要实现这些目的,就必须遵守一些原则:封装变化、对接口编程、少继承多聚合等等总结这些,归纳出六大原则
单一职责原则(SRP)
定义:就一个类而言,应该仅有一个引起它...
分类:
其他好文 时间:
2014-12-14 15:52:16
阅读次数:
123
1 继承1.0 面向对象的三个基本特征:1.封装2.继承3.多态1.1 生活中的继承 -》继承的生活逻辑 a.继承遗产:预先给予,不需要自行再建 b. 人类 父类 男人和女人 子类 乔布斯 和章子怡 对象 -》继承的概念:继承(也被称为派生)。 父类拥有的属性和方法,子...
分类:
编程语言 时间:
2014-12-14 15:48:50
阅读次数:
312
[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]
继续上节内容,还是以对各种类型的数组进行排序为例,这时,我们考虑复杂一点,如果,我们不再按照Cat的身高进行排序,我们想以Cat的年龄作为排序的依据,再如,我们不再按Dog的food进行排序,而是以Dog的体重作为依据进行排序,该怎么办呢,当然了,我们可以改动Cat...
分类:
编程语言 时间:
2014-12-14 00:46:52
阅读次数:
180
1、 this 不能直接调用 非static成员class A{static public void M1(){ Hello(); // 错误 在static成员中不能直接调用非static成员 A a=new A(); a.Hello();}public void Hello()...
分类:
其他好文 时间:
2014-12-12 20:44:14
阅读次数:
125
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------一、面向对象的三大特性:封装(成员变量)、继承和多态1、set方法和get方法1.set方法和get方法的使用场合@public的成员可以被随意赋值,应该使用set方法和get方法来管理成员的访问(...
分类:
其他好文 时间:
2014-12-12 14:49:11
阅读次数:
147
一.基本概念多态是基于继承的基础之上的,多态可以使得父类的指针指向子类的对象。如果函数或参数中使用的是父类类型,可以传入父类、子类对象,但是父类类型的变量不能直接调用子类特有的方法。Animal类的声明和实现// 动物@interface Animal : NSObject- (void)eat;@...
分类:
其他好文 时间:
2014-12-12 14:32:58
阅读次数:
166
[本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020]
面向对象(OO)思维:
1. 考虑类
名词
2. 考虑属性
不可脱离具体的应用环境
3. 考虑方法
4. 考虑类之间的关系
5. 考虑隐藏(封装)
降低耦合度
6. 考虑继承
耦合度强,应该谨慎使用
7. 考虑多态
核心中的核...
分类:
其他好文 时间:
2014-12-12 01:22:31
阅读次数:
215
面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是...
分类:
其他好文 时间:
2014-12-11 18:50:42
阅读次数:
300
作为一个c++菜鸟,研究半天这个代码的实现原理,发现好多语法不太熟悉,因此加了一大堆注释,仅供参考。该段代码主要通过继承workthread类来实现自己的线程代码,通过thread_pool类来管理线程池,线程池不能够实现动态改变线程数目,存在一定局限性。目前可能还有缺陷,毕竟c++来封装这个东西,资源释放什么的必须想清楚,比如vector存储了基类指针实现多态,那么如何释放对象仍需要考虑,后续我...
分类:
编程语言 时间:
2014-12-11 14:08:32
阅读次数:
144