马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
|