• 抽象类


    1.为什么设计抽象类这个技术?

    在实际开发中,我们可能有这样一种类,是其它类的父类,但是它本身并不需要实例化,主要用途是用于让子类来继承,这样可以达到代码复用,同时利于项目设计者来设计类。

    2.在实现方法覆盖的时候,访问修饰符可以不一样,但是必须满足:子类的访问范围>=父类的访问范围。

    例题1.

    abstract class Animal{
        public $name;
        public $age;
        abstract public function cry();
        //这个方法没有方法体,这个方法主要是为了让子类去实现。
    }
        class Cat extends Animal{
        public function cry(){
        echo "猫猫叫唤";
    }
    }
    //创建一个子类实例
    $cat1=new Cat();
    $cat1->cry();

    使用抽象类的注意事项:
    1.格式:abstract class 类名{ //1.方法2.属性 }

    2.如果一个类使用abstract 来修饰,则该类就是抽象类,如果一个方法被abstract修饰,则该方法就是抽象方法,(注意:抽象方法就不能有方法体)

    3.抽象类可以没有抽象方法,同时还可以有实现了的方法。

    例题

    abstract class Animal{
        public $name="abc";
        protected $age;
        abstract public function cry();
        pubulic function getNmae(){
        return $this->name;
    }
    }
    class Cat extends Animal{
        public function cry(){
        echo "猫猫叫唤";
    }
    }
        $cat1=new Cat();
        $cat1->cry();
        echo $cat1->getName();

    4.如果一个类中,只要有抽象方法,则该类必须声明为abstract
    5.如果A类继承了一个抽象类B,则要求A类实现从B类继承的所有抽象方法。

    例题

    <?php 
        abstract class A{
        abstract function text();
    }
    //B类要么自己抽象,或者实现从A类继承的抽象方法
    
        class B exteds A{
        function text(){
        echo "我实现A:text()";
    }
        echo "hello";
    }
    
    
    ?>
  • 相关阅读:
    java内部类自我总结
    eclipse中调试第三方jar中的代码
    java提升性能的好习惯(转)
    WMI获取驱动版本
    cmd中的特殊符号
    DISM命令应用大全
    C#自检系统
    注册表检查
    PictrueBox 显示Resources里面的图片
    Linq to XML
  • 原文地址:https://www.cnblogs.com/zxl89/p/6048974.html
Copyright © 2020-2023  润新知