|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 shenyaowen 于 2014-7-9 23:59 编辑
delphi 完美经典上说子类可以改变继承的基类的封装等级
只要在重新声明就可以了。
我在子类重新声明了基类的一个成员 但是好像只是在子类重新定义了一个名字一样的字段 基类的没变。。
delphi 完美经典上说子类可以改变继承的基类的封装等级
只要在重新声明就可以了。
我在子类重新声明了基类的一个成员 但是好像只是在子类重新定义了一个名字一样的字段 基类的没变。。
delphi 完美经典上说子类可以改变继承的基类的封装等级
只要在重新声明就可以了。
我在子类重新声明了基类的一个成员 但是好像只是在子类重新定义了一个名字一样的字段 基类的没变。。
- //子类
- other = class (girl)
- private
- aa : Integer;
- protected
- lover : string; //重新声明基类的lover
- dd : string;
- public
- procedure setaa (_iNum : Integer);
- procedure setdd (_szTemp : string);
- function getaa () : Integer;
- function getdd () : string;
- constructor create ();
- end;
- //基类
- girl = class (boy)
- private
- lover : string;
- protected
- husband : string;
- public
- constructor create ();
- procedure setlover (_szName : string);
- procedure sethusband (_szName : string);
- function getlover () : string; //获取成员lover
- function gethusband () : string;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- var
- xiaoming:other;
- begin
- xiaoming := other.create();
- xiaoming.lover := 'xiaohua'; //怎么没有改变基类的成员,而是改变了自己类新定义的成员。
- //书上说重新声明不是只改变原封装等级吗,怎么变重新定义了。。。是方法不对吗
- ShowMessage(xiaoming.getlover()); //调用基类的 getlover ( ) 获取基类的数据成员
- end;
复制代码
|
-
|