PHP有利于两个关键字,即implements
和extends
关键字,可以在类继承和接口实现的上下文中使用。虽然这两个关键字都与面向对象编程的概念相关,但它们有不同的用途。
Extends
关键词
extends
关键字用于创建从另一个类继承的子类。继承是面向对象编程中的一个基本概念,允许一个类继承另一个类的属性和方法。
用法
class First {
public function parent() {
// Code...
}
}
class Second extends First {
// Code...
}
示例: 实施延长PHP 中的关键字。
PHP
<?php
class ParentClass
{
public function parentMethod()
{
echo "This is a method from the parent class.\n";
}
}
class ChildClass extends ParentClass
{
public function childMethod()
{
echo "This is a method from the child class.\n";
}
}
$childObj = new ChildClass();
$childObj->parentMethod();
$childObj->childMethod();
?>
输出
This is a method from the parent class. This is a method from the child class.
实施关键字
Implements 关键字用于声明一个类实现一个或多个接口。接口定义了实现类必须遵守的契约,指定了类必须实现的一组方法。
用法
interface MyInterface
{
// Method...
}
class MyClass implements MyInterface
{
// Method...
}
示例: 实施实现PHP 中的关键字。
PHP
<?php
interface MyInterface
{
public function interfaceMethod();
}
class MyClass implements MyInterface
{
public function interfaceMethod()
{
echo "This is the implementation of the interface method.\n";
}
}
$obj = new MyClass();
$obj->interfaceMethod();
?>
输出
This is the implementation of the interface method.
我之间的差异mplements
和Extends
现在,让我们总结一下之间的主要区别implements
和extends
:
参数 | Implements |
Extends |
---|---|---|
Purpose | 实现接口 | 扩展一个类 |
Syntax | class MyClass implements MyInterface |
class ChildClass extends ParentClass |
Inheritance | 没有从接口继承 | 从父类继承属性和方法 |
多种用途 | 可以实现多个接口 | 只能延长一类 |
抽象类 | 可以实现抽象类 | 只能扩展具体(非抽象)类 |
代码可重用性 | 通过接口实现提高代码可重用性 | 通过类继承提高代码可重用性 |
相关用法
- PHP implode()用法及代码示例
- PHP imap_8bit()用法及代码示例
- PHP imap_alerts()用法及代码示例
- PHP imap_append()用法及代码示例
- PHP imap_base64()用法及代码示例
- PHP imap_binary()用法及代码示例
- PHP imap_body()用法及代码示例
- PHP imap_bodystruct()用法及代码示例
- PHP imap_check()用法及代码示例
- PHP imap_clearflag_full()用法及代码示例
- PHP imap_close()用法及代码示例
- PHP imap_create()用法及代码示例
- PHP imap_createmailbox()用法及代码示例
- PHP imap_delete()用法及代码示例
- PHP imap_deletemailbox()用法及代码示例
- PHP imap_errors()用法及代码示例
- PHP imap_expunge()用法及代码示例
- PHP imap_fetch_overview()用法及代码示例
- PHP imap_fetchbody()用法及代码示例
- PHP imap_fetchheader()用法及代码示例
- PHP imap_fetchmime()用法及代码示例
- PHP imap_fetchstructure()用法及代码示例
- PHP imap_fetchtext()用法及代码示例
- PHP imap_gc()用法及代码示例
- PHP imap_get_quota()用法及代码示例
注:本文由纯净天空筛选整理自vkash8574大神的英文原创作品 What is the difference between implements and extends in PHP ?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。