美文网首页
抽象类(abstract)

抽象类(abstract)

作者: CaptainRoy | 来源:发表于2018-06-19 18:07 被阅读8次
抽象类 abstract
  • 定义为抽象的类不能被实例化,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的
  • 被定义为抽象的方法只是声明了其调用方式,不能定义其具体的功能实现
  • 继承一个抽象类,其子类必须定义抽象父类的所有抽象方法

抽象类的使用

  • 定义一个抽象类
abstract class Person
{
    protected $name;
    protected $country;

    function __construct($name = '', $country = '')
    {
        $this->name = $name;
        $this->country = $country;
    }

    abstract function eat();

    function run()
    {
        echo '用两条腿跑步' . PHP_EOL;
    }
}
  • 两个分别继承抽象类的类
class China extends Person
{
    function eat()
    {
        echo '在 ' . $this->country . ' 人们用筷子吃饭' . PHP_EOL;
    }
}
$china = new China('roy', '中国');
$china->run(); // 用两条腿跑步
$china->eat(); // 在 中国 人们用筷子吃饭
class American extends Person
{
    function eat()
    {
        echo '在 ' . $this->country . ' 人们用刀叉吃饭' . PHP_EOL;
    }
}
$american = new American('lily','美国');
$american->run();
$american->eat(); // 在 美国 人们用刀叉吃饭

相关文章

  • java -abstract类、接口

    abstract类(抽象类) abstract类(抽象类) ** abstract()方法** abstract类...

  • Java -- abstract 和 interface 的理解

    一、Abstract 1,abstract class 抽象类 abstract修饰类,会使该类成为一个抽象类,这...

  • 抽象类和接口

    抽象类特点 抽象类和抽象方法都需要使用abstract修饰抽象类 abstract class test{}。抽象...

  • 抽象类

    抽象类用abstract修饰,抽象方法也用abstract修饰抽象类的特点:1)用abstract修饰的类2)抽象...

  • 抽象类 接口 多态

    抽象类abstract class 被 abstract 关键字修饰的 类 称为 抽象类 1. 为什么需要抽象类?...

  • JAVA的零散记录 - 抽象类(abstract class)

    抽象类(abstract class) 抽象类(abstract class): 如果一个class定义了方法,但...

  • NO.27 抽象类

    抽象类的特点 1、 抽象类和抽象方法必须使用abstract修饰 abstract class 类名...

  • Kotlin学习笔记(二)类的分类

    1.抽象类 抽象类用abstract关键字修饰,抽象类用abstract修饰的函数,就做抽象函数。抽象类中也可以有...

  • 抽象类

    抽象类(abstract class) 什么是抽象类被abstract关键字修饰的类 抽象类产生的原因随着继承层次...

  • 模板模式

    抽象类 public abstract class Shape{ public abstract double...

网友评论

      本文标题:抽象类(abstract)

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