7.8.1 PHP抽象方法和抽象类1

7.8.1 PHP抽象方法和抽象类1

在OOP语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法做为外部代码访问其的接口。而抽象方法就是为了方便继承而引入的。

当类中有一个方法,他没有方法体,也就是没有花括号,直接分号结束,象这种方法我们叫抽象方法,必须使用关键字abstract定义。

如: public abstract function fun();

包含这种方法的类必须是抽象类也要使用关键字abstract加以声明。(即使用关键字abstract 修饰的类为抽象类)
抽象类的特点:

不能实例化,也就new成对象

若想使用抽象类,就必须定义一个类去继承这个抽象类,并定义覆盖父类的抽象方法(实现抽象方法)。
其实抽象类对于子类(实现类),有一个约束的作用,

含有抽象方法的类肯定是抽象类,但是不是所有的抽象类都必须包含抽象方法。

test.php

<?php
/*
 *   1. 什么是抽象方法 ? 
 *  定义: 一个方法如果没有方法体(一个方法,不使用"{}", 直接使用分号结束的方法,才是没有方法体的方法 ),则这个方法就是抽象方法
 *  
 *  一、 声明一个方法,不使用{},而直接分号结束
 *  二、如果是抽象方法,必须使用 abstract(抽象关键字来修饰)
 *
 *   2. 什么是抽象类 ?
 *      一、 如果一个类中有一个方法是抽象的方法, 则这个类就是抽象类
 *      二、如果声明一个抽象类, 则这个类必须要使用 abstract关键字来修饰
 *
 *
 *  注意:
 *
 *      1. 只要使用 abstract修饰的类, 就是抽象类
 *      2. 抽象类是一种特殊的类, 特殊在哪里(在抽象类中可以有抽象方法)
 *      3. 除了在抽象类中可以有抽象方法,以外,和正常的类完全一样
 *
 *
 *   抽象方法作用:
 *
 *   抽象类的作用:
 *
 */


    abstract class Person {
        public $name;
        public $age;
        //特殊的方法抽象方法的存在
        abstract function say();
        
        abstract function eat();

        function run() {
            echo "11111111111111<br>";
        }

        function sleep() {
            echo "2222222222222222<br>";
        }
    }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容