B bywind Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-28 #1 就是为什么子类实例化的对象可以负值给父类,我一直搞不明白,明明子类中有父类没有的,如新增加的属性,方法等,可怎么就可以呢?李艺书中的解释就是说子类有父类所有的东西,这我知道,可是我关心的是子类中父类没有的呢???请大家说说,谢谢!
就是为什么子类实例化的对象可以负值给父类,我一直搞不明白,明明子类中有父类没有的,如新增加的属性,方法等,可怎么就可以呢?李艺书中的解释就是说子类有父类所有的东西,这我知道,可是我关心的是子类中父类没有的呢???请大家说说,谢谢!
N nicai_wgl Unregistered / Unconfirmed GUEST, unregistred user! 2006-08-29 #4 呵呵,是刘艺吧,老刘看你把他改姓要气死了。 父类是子类的概括,子类是父类的扩展。 子类向上转型后,对外实现的是父类的接口,但子类自己的特征依然存在,还是可以继续向下转型的。 打个比方,一台消毒饮水机,你可以把它向上转型为饮水机使用,但是他的消毒功能依然存在,在必要时还是可以向下转型为消毒饮水机。 东西一样,接口不同而已。
呵呵,是刘艺吧,老刘看你把他改姓要气死了。 父类是子类的概括,子类是父类的扩展。 子类向上转型后,对外实现的是父类的接口,但子类自己的特征依然存在,还是可以继续向下转型的。 打个比方,一台消毒饮水机,你可以把它向上转型为饮水机使用,但是他的消毒功能依然存在,在必要时还是可以向下转型为消毒饮水机。 东西一样,接口不同而已。
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2006-09-21 #6 类似这样的?tcontrol(edit1).enabled:=true;? 转了以后只能访问父类的属性、方法啊...... 为什么能访问? 在实例中所有的方法属性都是先有父类的再有子类的,所以转为父类类型以后,父类所含有的属性方法,相对于首地址的内存偏移是不变的
类似这样的?tcontrol(edit1).enabled:=true;? 转了以后只能访问父类的属性、方法啊...... 为什么能访问? 在实例中所有的方法属性都是先有父类的再有子类的,所以转为父类类型以后,父类所含有的属性方法,相对于首地址的内存偏移是不变的
Q qqq111 Unregistered / Unconfirmed GUEST, unregistred user! 2006-10-26 #7 向上转型后,就只能使用父类中有的方法了,需要使用自己特有方法的时候还可以转回来
0 0桁骀 Unregistered / Unconfirmed GUEST, unregistred user! 2006-11-18 #8 只能访问父类本身的东西,因为父类有的子类都有,可以理解子类比父类大,如果充方法和属性上来说,可以理解成包括,那么子类当成父类来使用就没有问题,相当于“大材小用”,只用子类里面那些,在父类中也存在的方法属性,但是不访问它特有的那些东西
只能访问父类本身的东西,因为父类有的子类都有,可以理解子类比父类大,如果充方法和属性上来说,可以理解成包括,那么子类当成父类来使用就没有问题,相当于“大材小用”,只用子类里面那些,在父类中也存在的方法属性,但是不访问它特有的那些东西