分享

编程语言子类继承父类 父类private问起求各位大神详解

 冒险的K 2021-10-20
<?php class A{private function test($n){echo "11";}}class B extends A{function test(){echo "22";}}class C extends A{}$b1=new B();$b1->test();?>

此代码中父类有个private方法 PHP规则不是子类不能继承父类的private方法吗 可是我在子类内写了同名的方法 当其中一个有参数时就报错 如果两个都没有就没问题 请问为什么。。。。。

回复讨论(解决方案)

这样看来 这两个方法不是都是独立的吗 为什么还要报错 弄的我很郁闷

private 私有的
是不可侵犯的

私有,继承是可以继承的,但是确实不能运行加显示,你既然已经在A类中将text()设置为私有,那么虽然在C类中继承了下载,但是却是不能运行,如果你在A类中加一个公共的调用text()的方法。然后在C类中就行调用,看看可以不。版主大人真是一阵见血。

也就是说其实已经继承了一下 只是不能被运行而已 这样理解对吗

不对!

class A{         private function test($n){        echo "11";    }}class B extends A{    function test($n){        echo "22";             }}class C extends A{ }print_r(get_class_methods('A'));print_r(get_class_methods('B'));print_r(get_class_methods('C'));

Array
(
)
Array
(
[0] => test
)
Array
(
)

private方法只是不能操作而已,不能与就没有了,
你要明白面向对象的概念,B继承A的概念是,B是更具体的A,B是A,A有的,B都会有

文章来源:https://www./faq/263062.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多