美文网首页
7.3 对象继承

7.3 对象继承

作者: 57fc17b7d598 | 来源:发表于2017-06-30 13:49 被阅读5次

继承指的是一个类(子类)可以拥有另一个类(父类)的属性和方法,两者之间的关系用 extends 关键字来进行关联。

一个子类只能拥有一个父类,不能继承多个父类。

子类可以拥有父类的属性和方法,也可以在子类中使用同名的属性和方法来覆盖(也叫重写、重载)掉。

如果父类定义方法时使用了 final 关键字,则该方法不能被重写。

除构造方法之外,其他方法在进行重写的时候,参数必须保持一致,否则报错。

下面代码中简单的展示了继承相关的内容

// 父类
class Foo{
    // 普通成员
    public $name;
    // 构造函数
    public function __construct($n){
        $this->name = $n;
    }
    // 普通方法
    public function say(string $str){
        echo "<p>{$this->name} : $str</p>";
    }
    public function eat(){
        echo "人是铁,饭是钢,一顿不吃饿得慌!";
    }
    // 这个方法不能被重写
    public final function profile(){
        echo "<p>我叫:{$this->name}</p>";
    }
}

// 子类
class Bar extends Foo{
    // 普通成员
    public $age = 10;
    // 构造函数
    public function __construct($name, $age){
        $this->name = $name;
        $this->age = $age;
    }
    // 重写方法
    public function say(string $str){
        echo "<p>{$this->name}[{$this->age}] : $str</p>";
    }
}

// 实例化
$foobar = new Bar('iGuoji', 26);
// 父类方法
$foobar->profile();
// 重写的方法
$foobar->say('你们好啊!');
// 随便说说
$foobar->eat();

最终输出内容

我叫:iGuoji

iGuoji[26] : 你们好啊!

人是铁,饭是钢,一顿不吃饿得慌!

相关文章

  • 7.3 对象继承

    继承指的是一个类(子类)可以拥有另一个类(父类)的属性和方法,两者之间的关系用 extends 关键字来进行关联。...

  • javascript对象继承顺序、分类和内置Math对象

    javascript对象继承顺序、分类和内置Math对象 一、对象的继承顺序 所有对象都是从Object对象继承过...

  • 深入理解js中实现继承的原理和方法

    原型对象继承 ==原理:原型对象的属性可以经由对象实例访问== 下面的例子,所含【对象继承】和【构造函数继承】,用...

  • 对象继承

    传统圣杯模式 YUI中的圣杯模式

  • 对象继承

    ES5继承:(1)通过原型或构造函数机制来实现。(2)先创建子类实例对象,然后让子类原型继承父类实例,从而获取到父...

  • JavaScript之面向对象编程

    五、面向对象编程 目录:面向对象原型继承、面向对象class继承(ES6引入的) 1.面向对象原型继承 类:模板 ...

  • java基础-day10-面向对象4.0

    面向对象4.0 1. 面向对象之继承 1.1 生活中的继承 1.2 Java中的继承 1.3 子类对象创建,会调...

  • JS原型和原型链

    一、原型 也是一个对象(被继承的对象被称作原型)。用来给实例共享属性和方法(实例对象可以继承原型对象的属性) 继承...

  • JAVA语言第二课

    JAVA面向对象——四大特征 继承篇——extendsJava 继承继承的概念继承是java面向对象编程技术的...

  • js 继承

    4种继承方式 原型式继承给原型对象添加属性原型替换子类的原型对象替换为父类的原型对象 原型链继承 借用构造函数继承...

网友评论

      本文标题:7.3 对象继承

      本文链接:https://www.haomeiwen.com/subject/lcobcxtx.html