我在父类中实现了一个函数A,访问权限为private,在父类的派生类中我想把这个函数访问权限改变为public,请问如何定义B类。不知道这个想法对不对,我知道属性是可以的

解决方案 »

  1.   

    父类为private。派生类不可以访问的,也不可以改为public
      

  2.   

    父类为private。派生类不可以访问的,我知道,其实我已经把那个函数访问权限设置为protect了,这样就可以访问了啊
      

  3.   

    在DELPHI同一个单元里所有类互为友员,所以父类的私有成员在同一个员是可以访问的 
      

  4.   

    楼上的2位,我知道同一个单元是不区分访问权限的,现在是我定义了一个抽象类A放在A.pas,在B.pas里头有一个类B把这个抽象类A实现了,A类的抽象函数我把他放在private里头,因为我还不是很清楚那些操作是他的子类真正需要的。现在我在B.pas文件里头还定义了一个C类,他继承至B,我定义C类仅仅是为了把实际需要的操作公布出来而已,我就这个需求,可能各位看的不是很清楚。我记得父类的属性property在子类中是可以直接修改起访问权限的,而不需要重新去定义实现,那函数是不是也和属性一样的操作呢?
      

  5.   

    private
    中的无论属性方法都是派生类访问不鸟的。
    除非派生类和基类写在一个Unit中(类似于C++中友元)所以你的命题是不成立的。
      

  6.   

    既然想派生类使用,为什么要声明成private呢?我觉得这本身就有问题。
      

  7.   

    把抽象类定义在private 很莫名其妙奇妙
    如果你的子类不需要他 可以不实现他 或者继承了继续抽象 property也只是通过函数来访问数据成员 不可能直接让你改可见性