gpt4 book ai didi

php - 我对 PHP 中的继承没有什么困惑

转载 作者:行者123 更新时间:2023-12-04 13:45:28 25 4
gpt4 key购买 nike

我有一个名为 Animal 的类,它由两个方法组成,例如...

Class Animal
{

protected function method1(){
//some code
}

protected function method2(){
//some code
}

}

现在我想创建两个扩展 Animal 类的子类。一个是猫另一个是狗,比如

Class Cat extends Animal
{
}

还有,

Class Dog extends Animal
{
}

现在,我想要的是,子类 Cat 可以访问类 Animal 中定义的两个方法,但是类 Dog 可以访问 method1,而不是 method2。我如何在类 Animal 中设置我的访问修饰符,以便可以实现此逻辑?

最佳答案

你不能那样做。它会违反 Liskov substitution principle .在 OOP 中,extends 关键字可以理解为“是...的特例”

如果懒得看,here是简短的版本。

此外,this lecture可能会有用。

关于php - 我对 PHP 中的继承没有什么困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46204267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com