虚拟继承下的对象构造: 由于虚拟基类对象在子类中只能保持一个实例,那么,子类构造的时候调用父类的构造函数的时候必须保证虚拟基类对象不能够重复构造。 那么如何保证基类对象的唯一性? C++规定虚拟基类对象的构造只能是最外层的子类进行构造,浅层次的子类将不会在进行构造,保证了虚拟基类对象的唯一性。...
分类:
编程语言 时间:
2014-12-22 17:34:24
阅读次数:
162
/*上转型和下转型(对象的多态性) *上转型:是子类对象由父类引用,格式:parent p=new son *也就是说,想要上转型的前提必须是有继承关系的两个类。 *在调用方法的时候,上转型对象只能调用父类中有的方法,如果调用子类的方法则会报错 *下转型:是父类向下强制转换到子类对象 *前提是该父类...
分类:
编程语言 时间:
2014-12-22 14:14:56
阅读次数:
176
一、简单工厂模式
简单工厂:简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承
自一个父类或接口)的实例。
优点:简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,
对于客户端来说,去除了与具体产品的依赖。
缺点:由于工厂类集中了所有实例的创建逻辑,违反了高内聚责任分配原则,将全部创建逻...
分类:
其他好文 时间:
2014-12-22 09:36:31
阅读次数:
204
1.面向对象编程的三大特征:
*封装/隐藏
*接口
*多态
——为了适用需求的多种变化,使代码变的更加通用!
2.类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界的更好建模。
3.提高代码的复用性。
extends的意思是“扩展”。子类是父类的继承。
4.一个源文件可以定义多个类。
5.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法...
分类:
编程语言 时间:
2014-12-22 09:29:19
阅读次数:
206
当我们自己编写拷贝构造函数时,编译器就不会为该类生成默认拷贝构造函数了,对于assignment operator也是如此。1. 拷贝构造函数中记得调用父类的拷贝构造函数,或者相应复制过程class Man {private: int age;public: Man(int _age =...
分类:
编程语言 时间:
2014-12-21 20:40:44
阅读次数:
132
看过C++对象模型的话就可以知道,在构造基类时,完整的vtable没有建立起来(表项没有被相应的子类函数替换),因而无法调用到子类的函数(即构造函数中的virtual函数是本类里的方法,不是virtual的)。书中也说即使调用了,因为构造函数的调用顺序,父类在构造时子类的成员还没有初始化可能,此时调...
分类:
编程语言 时间:
2014-12-21 19:19:14
阅读次数:
217
抽象类和抽象方法之间的关系有抽象方法的类,一定是抽象类;抽象类不一定有抽象方法当子类继承抽象类时,必须要将抽象类中的抽象方法全部实现(或者称为重写),否则子类依然是抽象类因为子类是继承父类全部内容,所以也就相当于子类中也有了抽象方法,通过重写,可以将抽象方法覆盖。抽象类的特点:必须有abstract...
分类:
编程语言 时间:
2014-12-20 19:42:28
阅读次数:
135
php中this,self,parent三个关键字的作用
this,self,parent三个关键字之间的区别,从字面上比较好理解,分别是指这、自己、父亲。我们先建立几个概念,这三个关键字分别是用在什么 地方呢?我们初步解释一下,this是指向当前对象的指针(姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针。我 们这里频繁使用指针来描述,可能是因为没有更好的语言来表达。...
分类:
Web程序 时间:
2014-12-20 14:20:41
阅读次数:
204
PHP 重载
一个类中的方法与另一个方法同名,但是参数不同,这种方法称之为重载方法。
很遗憾因为 PHP 是弱类型的语言, 所以在方法的参数中本身就可以接收不同类型的数据,又因为 PHP 的方法可以接收不定个数的参数,所以在 PHP 里面没有严格意义上的方法重载。
PHP 中的重载是指在子类里面定义了一个和父类同名的方法,且该方法将在子类中将把父类的方法覆盖。
在子类中,因为从父类继承过来...
分类:
Web程序 时间:
2014-12-20 12:58:35
阅读次数:
148
1)多态的体现 父类的引用指向了自己的子类对象。 父类的引用也可以接收自己的子类对象。2)多态的前提 必须是类与类之间有关系。要么继承,要么实现。 通常还有一个前提:存在覆盖。3)多态的好处 多态的出现大大的提高程序的扩展性。4)多态的弊端 提高了扩展性,但是只能使用父类的引用访问父类...
分类:
编程语言 时间:
2014-12-20 12:52:45
阅读次数:
191