📜  PHP的多重继承

📅  最后修改于: 2022-05-13 01:54:11.653000             🧑  作者: Mango

PHP的多重继承

多重继承是面向对象编程语言的特性,其中子类或子类可以继承多个父类或超类的特性。

PHP不支持多重继承,但通过接口在PHP或使用性状的PHP替代类,我们可以实现它。

Traits (Using Class with Traits): trait 是一种支持多重继承的类。类、案例类、对象和特征都只能扩展一个类,但可以同时扩展多个特征。
句法:

class child_class_name extends parent_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}

例子:

sayhello();
$test->sayfor();
$test->geeksforgeeks();
?>
输出:
Hello Geeks
GeeksforGeeks

在上面的程序中,“traits”与父类一起使用。有一个名为“Geeks”的“类”,其中包含函数sayhello() 和一个名为“forGeeks”的“trait”,其中包含函数geeksforgeeks(),还有一个名为“Sample”的子类,我们正在创建这个名为“的类的对象” test”并使用它调用类和特征的所有函数。



Traits (Using Multiple Traits):多个 Traits 可以插入到一个类中,方法是在 use 语句中列出它们,用逗号分隔。
句法:

class child_class_name {
    use trait_name;
    ...
    ...
    child_class functions
}

例子:

sayhello();
$test->sayfor();
$test->geeksforgeeks();
?>
输出:
Hello Geeks
GeeksforGeeks

在上面的程序中使用了“traits”。有两个名为“Geeks”的特征,分别包含函数sayhello() 和“forGeeks”,分别包含函数geeksforgeeks() 并且有一个子类“Sample”,我们正在创建这个名为“test”的类的对象并使用它我们正在调用特性的所有功能。

接口(使用类和接口):
句法:

class child_class_name extends parent_class_name implements interface_name1, ...

例子:

insideA();
$geeks->insideB();
$geeks->insidemultiple();
?>
输出:
I am in class A
I am in interface
I am in inherited class

在上面的程序中,接口“B”与类“A”一起使用来实现多重继承。需要记住的重点是,它不能在接口内部定义函数,而应该在子类“Multiple”内部定义。我们使用名为“geeks”的子类(Multiple)对象调用所有函数。

接口(使用多接口):

句法:

class child_class_name implements interface_name1, interface_name2, ...

例子:

insideC();
$geeks->insideB();
$geeks->insidemultiple();
?>
输出:
I am in interface C
I am in interface B
I am in inherited class

在上面的程序中使用了多个接口来实现多重继承。在上面的例子中,有两个名为“B”和“C”的接口,它们扮演基类的角色,还有一个名为“Multiple”的子类,我们使用名为“geeks”的对象调用所有函数。

PHP是一种专门为 Web 开发设计的服务器端脚本语言。您可以按照此PHP教程和PHP示例从头开始学习PHP 。