zoukankan      html  css  js  c++  java
  • 抽象 接口等

    继承
    子类可以继承父类的一切
    特点:单继承
    函数的重写

    多态
    当父类引用指向子类实例,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同
    如果一个方法需要一个父类的参数,可以给一个子类对象

    静态
    普通成员
    普通成员是属于对象的

    静态成员
    静态成员属于类的

    关键字:static
    self关键字:在类里面代表该类
    在静态方法里面不能调用普通成员
    在普通方法里面能够调用静态成员

    class FenBi
    {
    public $length; 粉笔的长度
    public static $color; 粉笔的颜色

    static function show()
    {
    echo "粉笔颜色是:".self::$color;
    }

    function XianShi()
    {
    echo "显示:".self::$color;
    }
    }

    $f = new FenBi(); 先造一个对象
    $f->length; 用对象去调用普通成员

    FenBi::$color = "红色"; 使用类名调用静态成员
    FenBi::show();
    $f->XianShi();

    抽象
    抽象类:关键字abstract
    特点:不能被实例化,只能被继承
    目的:为了派生子类,控制子类

    abstract class Dog
    {
    public $name;

    function Jiao()
    {
    echo "汪汪";
    }
    }

    class JinMao extends Dog
    {

    }

    $d = new Dog();

    接口
    极度抽象的类
    接口里面不能包含成员变量,只能包含成员方法
    成员方法可以没有函数体
    接口关键字:interface
    实现接口的类,必须实现接口里面的所有方法

    interface IUSB
    {
    function read(); 读的方法
    function write(); 写的方法
    }

    鼠标的驱动类
    class Mouse implements IUSB
    {
    function read()
    {
    echo "鼠标点击了";
    }
    function write()
    {
    echo "给鼠标一个指令";
    }
    }

    键盘的驱动类
    class JianPan implements IUSB
    {
    function read()
    {
    echo "键盘输入了内容";
    }
    function write()
    {
    echo "给键盘指令";
    }
    }

    $m = new Mouse();
    $m->write();

    $j = new JianPan();
    $j->read();

    接口:API

  • 相关阅读:
    Codeforces Round #702 (Div. 3) 题解
    Educational Codeforces Round 104 (Rated for Div. 2) A~E题解
    AtCoder Regular Contest 112 A~D题解
    Codeforces Round #701 (Div. 2) A~E 题解
    java String, StringBuffer, StringBuilder简单介绍和使用
    货仓选址
    线程的同步
    数据结构课设作业
    线程的生命周期(java 图)
    JAVA多线程的创建和使用
  • 原文地址:https://www.cnblogs.com/sq45711478/p/6001594.html
Copyright © 2011-2022 走看看