php – 如何在子类中设置公共属性?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何在子类中设置公共属性?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我是OO编程的新手,我正在尝试理解如何以适当的方式从子类为公共属性赋值.我总是每次都以不同的方式做这件事,所以我觉得问你一般的做法是个好主意.

假设我有一个父类,FruIT和两个子类Apple和Banana.

    

abstract class Fruit {

    PRotected $color; //empty proPErty

    protected function getColor(){
        return $this->color;
    }
}

class Apple extends Fruit {
    protected $color = 'red';
}

class Banana extends Fruit {
    protected $color = 'yellow';
}

?>

每个子类必须具有属性颜色,例如,超类中的函数getColor将使用它.

但是我该如何处理该物业?

>我在父级中定义空变量$color.然后我在子类中设置变量$color,并通过parent :: __ construct将它们传递给父类,以将值赋给父类中的属性.
>我在父级中定义空变量$color.然后我只需在子类中使用$this-> color来设置值.
>我在每个子类中定义属性,并保持原样.继承的方法仍然可以使用它.

我想最好收集父类中的公共属性,但是编写那么多行来设置一些值感觉有点过分(如果我有很多属性,那么会有很多功能参数以及).第二和第三部分,但很难看出我实际上需要定义属性.

我该怎么想?哈哈,我对所有OO思维方式都很困惑,我几乎没有编写任何代码.

谢谢.

解决方法

没有“银弹”.通常,应该通过构造函数的参数设置预期在子类中不同的所有字段,以确保它们是显式设置的.可以通过为属性赋值来初始化其他字段.

例如,可以通过为属性赋值来设置水果的颜色(因为许多水果可以是红色),但名称应该由构造函数的参数设置(因为名称唯一标识水果).

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何在子类中设置公共属性?全部内容,希望文章能够帮你解决php – 如何在子类中设置公共属性?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。