类函数访问权限问题

eFainter 2008-01-24 02:14:38
我在父类中实现了一个函数A,访问权限为private,在父类的派生类中我想把这个函数访问权限改变为public,请问如何定义B类。

不知道这个想法对不对,我知道属性是可以的
...全文
128 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanggeng0209 2008-02-04
  • 打赏
  • 举报
回复
如果可以访问,那与面向对象编程理论不相符。
dh9450 2008-02-04
  • 打赏
  • 举报
回复
把抽象类定义在private 很莫名其妙奇妙
如果你的子类不需要他 可以不实现他 或者继承了继续抽象

property也只是通过函数来访问数据成员 不可能直接让你改可见性
zhouchunyu 2008-01-31
  • 打赏
  • 举报
回复
帮顶
Ascn 2008-01-31
  • 打赏
  • 举报
回复
7、8两层楼的朋友说得很对
trainbox 2008-01-30
  • 打赏
  • 举报
回复
楼上的正解
楼主多此一问
Harryfin 2008-01-30
  • 打赏
  • 举报
回复
既然想派生类使用,为什么要声明成private呢?我觉得这本身就有问题。
zwjchina 2008-01-30
  • 打赏
  • 举报
回复
private
中的无论属性方法都是派生类访问不鸟的。
除非派生类和基类写在一个Unit中(类似于C++中友元)

所以你的命题是不成立的。
eFainter 2008-01-30
  • 打赏
  • 举报
回复
楼上的2位,我知道同一个单元是不区分访问权限的,现在是我定义了一个抽象类A放在A.pas,在B.pas里头有一个类B把这个抽象类A实现了,A类的抽象函数我把他放在private里头,因为我还不是很清楚那些操作是他的子类真正需要的。

现在我在B.pas文件里头还定义了一个C类,他继承至B,我定义C类仅仅是为了把实际需要的操作公布出来而已,我就这个需求,可能各位看的不是很清楚。我记得父类的属性property在子类中是可以直接修改起访问权限的,而不需要重新去定义实现,那函数是不是也和属性一样的操作呢?
king_xing 2008-01-24
  • 打赏
  • 举报
回复
楼上正解
sanguomi 2008-01-24
  • 打赏
  • 举报
回复
在DELPHI同一个单元里所有类互为友员,所以父类的私有成员在同一个员是可以访问的
eFainter 2008-01-24
  • 打赏
  • 举报
回复
父类为private。派生类不可以访问的,我知道,其实我已经把那个函数访问权限设置为protect了,这样就可以访问了啊
  • 打赏
  • 举报
回复
reintroduce试试看
ghd2004 2008-01-24
  • 打赏
  • 举报
回复
父类为private。派生类不可以访问的,也不可以改为public

5,390

社区成员

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

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