如何将父类中public的方法在子类中改为protected属性

bigban 2002-02-28 05:53:31
如何将父类中public的方法在子类中改为protected属性
也就是如何隐藏父类中的公共属性的方法
...全文
143 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bigban 2002-03-01
  • 打赏
  • 举报
回复
谢谢各位的帮助,我怎磨给分?
nofog 2002-02-28
  • 打赏
  • 举报
回复
呵呵,编译器已经不允许了,
也许还有骗过编译器的方式(至少我还没有见过),不过没多大意义。
违反object pascal 和 一般OOL的语法。
initora 2002-02-28
  • 打赏
  • 举报
回复
秘密一旦公开了,就不再是秘密了
INeedCa 2002-02-28
  • 打赏
  • 举报
回复
试试Reintroduce,不过子类的子类就不能再看到这个方法了。
chechy 2002-02-28
  • 打赏
  • 举报
回复
to qiubolecn(来自差生市):
在另外一个Unit可以这样:
var
b: Integer;
a: TOne;
begin
a := TTwo.Create;
a.getit(b);
end;

你说该如何隐藏?
qiubolecn 2002-02-28
  • 打赏
  • 举报
回复
谁说不可以????????
TOne = class
public
procedure getit(var i:integer); virtual;
end;

TTwo = class(TOne)
protected
procedure getit(var i:integer); override;
end;
竟然还有一批人跟着起哄,声明这两个类的内容,对象使用不在同一单元;
liuziran 2002-02-28
  • 打赏
  • 举报
回复
不过有办法变通,从祖先继承重写
liuziran 2002-02-28
  • 打赏
  • 举报
回复
无法改
chechy 2002-02-28
  • 打赏
  • 举报
回复
不可以的。Object Pascal的语法规定不可以。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧