在子类中如何限制基类的一些没用的一些属性,方法,过程? 在子类中如何限制基类的一些没用的一些属性,方法,过程? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 让 ADOTable 组件的随便一个属性,方法, 过程 受到限制该怎么做? 就是问你要对 Filter 做什么“限制”....................... 限制它从TCustomADODataSet 继承的ConnectionString属性是该怎么做? 限制 ConnectionString 出现在 ObjectInspector 中 能继承的只有protected、public、published 这三种的属性过程和方法。也就说只有级别最低的private的不会被继承。继承下来的只能提高不能降低,例如继承下来的protected可以在子类提升为public,但是不能降低为private。ConnectionString是published级别的,继承下来了就不能修改可见度了。但是你可以修改它的功能 出现在Object Inspector内的属性和事件都只能是published级别的。 type TBassClass = class // 基类 private FText: string; procedure GetText(txt: string); protected procedure Foo(str: string); published property Text: string read FText write GetText; end; TMyClass = class(TBassClass) // 子类 published procedure Foo(str: string); // 这里,我重写覆盖了父类的Foo方法,并把它提升为published end;{ TBassClass } // 基类中的成员实现procedure TBassClass.Foo(str: string);begin ShowMessage('TBassClass ' + str);end;procedure TBassClass.GetText(txt: string);begin FText := txt;end;{ TMyClass } // 子类中重写覆盖父类的方法,放弃父类的功能实现自己的功能procedure TMyClass.Foo(str: string);begin ShowMessage('TMyClass ' + str);end; 对不起,麻烦您了! 这些小窗户怎么实现的?就是ConnectionString属性它的格式 WideString 这些你继承下来就有了,不用自己实现。不过这些属于组件,实现比较复杂。三两句说不了的。你如果是初学者,最好别重这里下手,你需要先了解怎样创建一个自定义的组件。你可以先学习如果创建一个自定义的Button,学习如果创建一个自己的button控件。需要看书,你这样摸太浪费时间并且不得要领。建议你CSDN内搜索下载《delphi 5 开发人员指南》这本书,看第21章。 咨询DELPHI将日期时间保存到ORACLE数据库问题 交叉表和月报表的问题 用RAVE做带memo的报表,在第二行最前面的汉字老是乱码,有解决办法吗? 请教一个字符串处理的问题 请帮我看看,我写的那里有问题 奇耻大辱!!!!!!!!(所有华人的耻辱) 请高手讲讲:虚类、虚方法、虚方法表、接口; Public、Private、 published 关于扫描仪的一个十分不解的问题???,进来看看? 怎样制作DELPHI5安装程序? 在局域网上,如何得到别人的IP? 请问,如果都是动态加载调用,BPL与DLL相比有什么优点? richview可以导入xls表格吗?
也就说只有级别最低的private的不会被继承。继承下来的只能提高不能降低,例如继承下来的protected可以在子类提升为public,但是不能降低为private。ConnectionString是published级别的,继承下来了就不能修改可见度了。
但是你可以修改它的功能
type
TBassClass = class // 基类
private
FText: string;
procedure GetText(txt: string);
protected
procedure Foo(str: string);
published
property Text: string read FText write GetText;
end; TMyClass = class(TBassClass) // 子类
published
procedure Foo(str: string); // 这里,我重写覆盖了父类的Foo方法,并把它提升为published
end;
{ TBassClass } // 基类中的成员实现
procedure TBassClass.Foo(str: string);
begin
ShowMessage('TBassClass ' + str);
end;procedure TBassClass.GetText(txt: string);
begin
FText := txt;
end;{ TMyClass } // 子类中重写覆盖父类的方法,放弃父类的功能实现自己的功能
procedure TMyClass.Foo(str: string);
begin
ShowMessage('TMyClass ' + str);
end;
建议你CSDN内搜索下载《delphi 5 开发人员指南》这本书,看第21章。