随手写的,后续整理。1. Entry如何调用父类的__init__? 以下错,原因后续分析super(Your_Entry_Class, self).__init__(self,**kw) 报错:TypeError: must be type, not instance 。 莫名其妙 谷歌了下,.....
分类:
编程语言 时间:
2014-12-18 10:10:59
阅读次数:
629
设计模式中,工厂三姐妹还是比较重要的,现在我们来谈谈他们的故事。
简单工厂模式:
客户端的实现需要依靠的是父类和工厂这个类,所以就把子类封装在父类里面,客户端直接调用父类和工厂类就可以了;但是工厂类还需要依赖于父类。我们假设父类为bird,子类分别为little bird和 big bird,而父类代码和子类的代...
分类:
其他好文 时间:
2014-12-16 13:35:19
阅读次数:
197
super有以下两大作用: 1、起限定作用:强制去访问父类的成员(Field、方法) 2、起调用作用:指定/显示调用父类的某个构造器super调用规则: 1、子类构造器总会调用父类构造器一次,默认情况下子类构造器会自动调用父类无参数的构造器; 2、若希望明确指定子类构造器调用父类哪个构造器,...
分类:
编程语言 时间:
2014-12-16 13:22:58
阅读次数:
208
1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base {Base() {System.out.println("Base");}}public class Checket extends Base {Checket() {super();//调用父类的构...
分类:
编程语言 时间:
2014-12-07 15:01:09
阅读次数:
167
.Net 视频学习第2季C#面向对象面向对象 里氏转换 随机数 protected里氏转换:子类对象可以赋值给父类对象;如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象。子类对象可以调用父类成员,但父类对象永远只能调用自己的成员。is或者as均表示类型转换,is返回true/false,...
类的本质:/* 1.当程序启动时,就会加载项目中所有的类和分类,而且加载后会调用每个类和分类的+load方法。只会调用一次。 2.当第一次使用某个类时,就会调用当前类的+initialize方法 3.先加载父类,再加载子类(先调用父类的+load方法,再调用子类的+load方法) 先初始化父...
分类:
其他好文 时间:
2014-12-05 09:14:45
阅读次数:
181
有时候我们重写父类的init方法时不注意将init后面的第一个字母写成了小写,在这个方法里面又调用父类的初始化方法(self = [super init];)时会报错,错误信息如下:error:Cannot assign to 'self' outside of a method in the...
分类:
其他好文 时间:
2014-12-03 22:45:04
阅读次数:
109
一. 定义&区别self: 指向当前类的指针,self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量。this: 指向当前对象的指针,使用parent来调用父类的构造函数。parent: 指向父类的指针二.使用区别1.selflastCount =++self::$firs...
分类:
Web程序 时间:
2014-12-03 20:50:52
阅读次数:
145
Delphi通过inherited 可以调用父类的方法,但是没有提供直接调用父类的父类的方法(爷爷类),通过变通的方式实现如下:假设父类是TFar,爷爷类TGrand,调用爷爷类的Write方法:type TWriteProc=procedure of Object;var WriteProc:.....
今天在开发时遇到了一个之前一直以为理所当然的构造函数问题。
先给总结:
子类在构造时,如果没有显式调用父类的构造函数,会先调用父类的默认构造函数(无参数的)
下面给出不同情况的例子
例子一:父类有默认的构造函数,子类的构造函数随便
#include
class Base{
public:
Base(){
}
};
class Derive:public Base{
...
分类:
编程语言 时间:
2014-11-29 21:45:43
阅读次数:
261