PHP,OOP,不同的公式
我正在研究抽象和界面的区别,我读了一些句子 说 子类只能扩展单个抽象(或任何其他)类, 而一个接口可以扩展,或者一个类可以实现多个 其他接口 我理解他所说的“一个子类只能扩展一个抽象(或任何其他)类”,他的意思是:PHP,OOP,不同的公式,php,oop,class,interface,abstract,Php,Oop,Class,Interface,Abstract,我正在研究抽象和界面的区别,我读了一些句子 说 子类只能扩展单个抽象(或任何其他)类, 而一个接口可以扩展,或者一个类可以实现多个 其他接口 我理解他所说的“一个子类只能扩展一个抽象(或任何其他)类”,他的意思是: class first { public function Search() { return 'Hellow'; } } abstract class first2 extends first { } class second exte
class first
{
public function Search()
{
return 'Hellow';
}
}
abstract class first2 extends first
{
}
class second extends first2
{
}
$ob = new second();
echo $ob->Search();
然而,我不理解他那句话的其余部分,他说,“一个接口可以扩展,或者一个类可以实现多个其他接口。”
有人能解释一下他的最后一句话并添加一个代码示例吗?
谢谢大家,祝你们度过愉快的一天。您可以实现多个接口
interface C {
public function method1();
}
interface D {
public function method2();
}
class A implements C,D {
//implement from interface C
public function method1() {
}
//implement from interface D
public function method2() {
}
}
在这里,您需要从接口C和D实现方法。您还可以在接口内扩展接口,如普通类
interface D extends C{}
当你需要一些常用的方法时,它很有用。所以,您将“模式”写入接口,希望从基类实现哪些方法
虽然抽象是单个扩展类,但不能为其创建实例,只能扩展。当您想要拥有一些具有公共功能或抽象方法的基类(稍后应该实现这些方法)时,它非常有用
更多信息请访问谢谢gearsdigital提供的链接。谢谢Alickus,我知道现在祝您愉快。基类几乎总是糟糕的设计。继承的思想不是收集某种Blob/God类中常用的功能。继承的思想是有一些定义良好的超类,然后在子类中有一些特殊的情况/变体。是的,Blob类是邪恶的,我不是说它,有时当你需要公共功能时,比如说MVC抽象模型,控制器类将有一些方法是共享的,并且具有公共功能。继承的思想也是为了避免代码重复。不提扩展代码。一般来说,最好