搜索
首页后端开发PHP问题php实现继承的关键词是什么

php实现继承的关键词是什么

Nov 18, 2021 am 10:32 AM
php继承

php实现继承的关键词是“extends”。PHP中只能使用单继承模式,即一个类只能直接从另一个类中继承数据;而类的继承需要通过“extends”关键字来实现,语法“class 子类名 extends 父类名{... ...}”。

php实现继承的关键词是什么

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

面向对象编程(OOP)的一大好处就是,可以使用一个类继承另一个已有的类,被继承的类称为父类或基类,而继承这个父类的类称为子类。子类可以继承父类的方法和属性,因此通过继承可以提高代码的重用性,也可以提高软件的开发效率。

子类可以增加父类之外的新功能,因此也可以将子类称为父类的“扩展”。此外,子类还可以继承父类的构造函数,当子类被实例化时,PHP 会先在子类中查找构造函数。如果子类有自己的构造函数,PHP 会先调用子类中的构造函数。当子类中没有时,PHP 则会去调用父类中的构造函数。

类的继承需要通过 extends 关键字来实现。语法格式如下所示:

class 子类名 extends 父类名{
    ... ...
}

注意:不同于 Java 等语言,在 PHP 中,一个类只能直接从一个类中继承数据,即单继承。但一个类可以有多个子类。

示例:

<?php
class Person {
    var $name;
    var $age;
    function say() {
        echo "我的名字叫:".$this->name."<br />";
echo "我的年龄是:".$this->age;
    }
}
// 类的继承
class Student extends Person {
    var $school;    //学生所在学校的属性
    function study() {
        echo "我的名子叫:".$this->name."<br />";
        echo "我正在".$this->school."学习";
    }
}
$t1 = new Student();
$t1->name = "张三";
$t1->school = "人民大学";
$t1->study();
?>

运行该例子,输出:

我的名子叫:张三
我正在人民大学学习

在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

推荐学习:《PHP视频教程

以上是php实现继承的关键词是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)