PHP 类的继承 extends 关键字

PHP 类的继承

PHP 类的继承是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和方法,而且可以重新定义或加进新数据和方法,从而建立了类的层次或等级。

我们称已存在的用来派生新类的类为父类,由已存在的类派生出的新类为子类。继承是面向对象的三大特性之一。

通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。

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

使用 extends 关键字来定义类的继承:

class 子类 extends 父类{
}

例子:

<?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();
?>

运行该例子,输出:

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

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

时间: 2024-11-10 09:53:06

PHP 类的继承 extends 关键字的相关文章

iBatis.net 类的继承extends

<resultMaps> <resultMap id="FullResultMap" class="t_c_doctor"> <result property="doctor_byyy_id" column="doctor_byyy_id"/> </resultMap> <resultMap id="TeamDoctor" class="Use

Class的使用,构造方法,实例属性和实例方法,静态属性和静态方法,this和super关键字,类的继承

s6新增了一种定义对象实例的方法,Class(类)这个概念,作为对象的模板.class可以看作只是一个语法糖,通过class关键字,可以定义类.让对象原型的写法更加清晰.更像面向对象编程的语法. 一.  Class的基本用法 1.  constructor方法 1 //定义类 2 class Point { 3 constructor(x, y) { 4 this.x = x; 5 this.y = y; 6 } 7 8 toString() { 9 return '(' + this.x +

scala 基础九 scala 类的扩展和继承extends override

1.scala 类的继承 package smart.iot //父类 animal 有三个参数 class animal(var name:String,var age:Int,var eat:String) { } //子类 panda 继承父类 animal class Panda( name:String, age:Int, eat:String,var blackeye:String) extends animal(name,age,eat) { } object load { def

面向对象_05【类的继承:extends、重写父类】

类的继承:现有类的基础上构建一个新的类,构建出来的类被称作子类,子类可继承父类的属性和方法. 什么时候定义继承?当类与类之间存在着所属关系的时候,就定义继承.xxx是yyy中的一种==>xxx extends yyy 继承好处: 1,提高代码复用性 2,让类与类之间产生关系,给多态提供前提 单继承:一个子类只能有一个直接父类.多继承:一个子类可以有多个直接父类(Java中不允许,进行改良) ==>不直接继承,因为多个父类中有相同成员,会产生调用的不确定性 在Java是通过"多实现&q

类与继承(一)

在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的变量来说会默认初始

java继承2——类与继承(转)

一.你了解类吗? 在Java中,类文件是以.java为后缀的代码文件,在每个类文件中最多只允许出现一个public类,当有public类的时候,类文件的名称必须和public类的名称相同,若不存在public,则类文件的名称可以为任意的名称(当然以数字开头的名称是不允许的). 在类内部,对于成员变量,如果在定义的时候没有进行显示的赋值初始化,则Java会保证类的每个成员变量都得到恰当的初始化: 1)对于  char.short.byte.int.long.float.double等基本数据类型的

PHP学习笔记二十五【类的继承】

<?php //定义父类 class Stu{ public $name; protected $age; protected $grade; private $address;//私有变量不会被继承 //当一个子类的方法和父类的方法完全一样,称为方法的重写 public function __construct(){ echo "Stu 构造函数"; } public function showInfo() { echo $this->name."||"

类的继承8.2

类与类之间同样具有关系,当处理一个问题时,可以将一些有用的类保留下来,当遇到同样的问题时拿来重复.重复那些已定义好的类可以提高习系统性能,减少系统在使用过程中出现错误的几率.继承性主要利用特定对象之间的共同属性,也就是说子类的实例都是父类的实例,但不能说父类的实例都是子类的实例.父类与子类中存在一种层次关系,一个类处于集成体中,它既可以是其他类的父类,为其他类提供属性和行为,也可以是其他类的子类,集成父类的属性和方法. 8.2.1继承的实现 在Java中,继承通过extends关键字来实现,也就

Java:类与继承(隐藏和覆盖的问题)

盒子先生金金 Java:类与继承(隐藏和覆盖的问题) Java:类与继承 Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关知识.首先,我们讲述一下与类的初始化相关的东西,然后再从几个方面阐述继承这一大特性.以下是本文的目录大纲: 一.你了解类吗? 二.你了解继承吗? 三.常见的面试笔试题 若有不正之处,请多多谅解并欢迎批评指正. 请尊重作者劳动成果