zoukankan      html  css  js  c++  java
  • abstract抽象类学习

    1 抽象类 关键字 abstract

    2 类中只要有一个方法声明为abstract的抽象方法,那么这个类就必须声明为抽象类

    3 抽象方法只允许有方法声明与参数列表,不允许有方法体

    4 抽象方法的不确定性,所以抽象类禁止实例化,仅允许继承关键字extends来实例化

    5 抽象类的子类中,必须将抽象类中的所有抽象方法全部实现

    6 子类成员的访问限制级别必须等于或小于抽象类的约定,例如抽象类是protected,子类必须是protected 或者 public 不允许是private

    7.子类方法参数必须与抽象类方法参数完全一致,但允许增加默认参数

    abstract class Fruits{
        //水果名称
        protected  $name;
        //抽象方法
        abstract public function eat();
        //尽管不能直接实例化抽象类,但仍然可以有构造方法
        public function __construct() {
            return  '抽象类构造器,实例化时自动调用<br>';
        }
    }
    
    //实际开发中应该为每一个类创建独立的类文件
    class Apple extends Fruits{
        protected $name = '苹果';
        public function eat() {
            return $this->name.'可以直接吃';
        }
        //子类构造函数
        public function __construct() {
            echo parent::__construct();
        }
    }
    $apple = new Apple;
    echo $apple->eat();
    

      

    每天学习一点,日积月累最终会汇成大海!
  • 相关阅读:
    设计模式03
    设计模式02
    设计模式01
    HTTP
    C++ 编程学习(六) 函数
    C++编程学习(五) C++ 存储类
    C++编程学习(四)声明/枚举
    ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法
    ROS常用命令或经常碰到的问题
    Ubuntu16.04 在Windows10 系统下的安装(双系统)
  • 原文地址:https://www.cnblogs.com/viczhang/p/11410545.html
Copyright © 2011-2022 走看看