• 面向对象之静态


    1.静态

      静态是和之前做的类的普通成员对应的。类里面的成员可以分为两类,一类是普通成员,另一类是静态成员。之前写的都是普通成员,普通成员是属于对象的。静态成员是属于类的,静态是相对于普通成员来说的。

    静态成员的定义:

    //静态
    //普通成员是属于对象的
    
    //静态成员
    //静态成员是属于类的
    //关键字:static
    //self关键字:在类里面代表类
    //在静态方法里面不能调用普通成员
    //普通方法里面可以调用静态成员
    
    /*class Fenbi
    {
        public $length;//粉笔的长度,定义成普通的成员。
        public static $color;//粉笔的颜色,定义成静态的成员。static定义静态的关键字。
        
        static function Show()//静态成员,里面可以调用静态成员,不可以调用普通成员。
        {
            echo "粉笔颜色是:".self::$color;//self换成类名Fenbi也可以,self在类里面代表该该类,this在类里面代表该对象。
        }
        function Xianshi()//普通成员,里面可以调用普通成员和静态成员。
        {
            echo "显示:".self::$color;
        }
    }
    $f = new Fenbi();//先造一个对象
    $f->length;//用对象去调用普通成员
    Fenbi::$color = "红色";
    //Fenbi::show();//调用静态方法,不用 Fenbi::$color;//因为静态成员是属于类的,所以要使用类名调用静态成员 $f->Xianshi();
    */

    抽象:

    //抽象
    //抽象类:关键字abstract
    //特点:不能被实例化,只能被继承。
    //目的:为了派生子类,控制子类
    /*abstract class Dog
    {
        public $name;
        function Jiao()
        {
            echo "旺旺";
        }
    }
    //$d = new Dog();//不能造出dog对象
    class Jinmao extends Dog//金毛的类继承dog的类
    {
        
    }*/

    接口:

    //接口
    //极度抽象的类
    //接口里面不能包含成员变量,只能包含成员方法。
    //成员方法没有函数体
    //接口关键字:interface
    //实现接口的类,必须实现接口里面的所有方法。
    
    /*interface IUSB//接口名称一般是I(大写)开头
    {
        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->read();
    
    $j = new Jianpan();
    $j->read();
  • 相关阅读:
    NOIP2008双栈排序[二分图染色|栈|DP]
    洛谷P1108 低价购买[DP | LIS方案数]
    洛谷P1330封锁阳光大学[二分图染色]
    NOIP模板整理计划
    期中考试
    UVA 10564 Paths through the Hourglass[DP 打印]
    UVA 11404 Palindromic Subsequence[DP LCS 打印]
    POJ2479 Maximum sum[DP|最大子段和]
    POJ3160 Father Christmas flymouse[强连通分量 缩点 DP]
    UVA11324 The Largest Clique[强连通分量 缩点 DP]
  • 原文地址:https://www.cnblogs.com/Strive-count/p/5998435.html
Copyright © 2020-2023  润新知