• 静态和抽象和接口


    类里面的分为普通成员和静态成员

    静态成员赋值取值

    <body>
    <?php
    class FenBi{
    	public static $color; //静态成员    关键字:static
    	public $length;//普通成员变量属于对象
    	}
    	Fenbi::$color="红色";//给静态成员赋值
    	Fenbi::test();//静态成员取值
    ?>
    </body>
    

    普通成员赋值取值 

    <?php
        class FenBi{
            public $lenth;//普通成员变量属于对象
            public static $color;//静态成员关键字static属于类
        }
        FenBi::$color = "红色";//给静态成员赋值
        FenBi::$color;//静态成员取值
        $f = new FenBi();//实例化
        $f->lenth = "15CM";
    ?>
    

     静态方式

    <body>
    <?php
    
        class FenBi{
            public static function test(){//静态方法关键字
                echo"这是静态方法";
            }
        }
        FenBi::test();
    ?>
    	
    
    </body>
    

    显示:

    静态方法里不能有普通成员(普通成员调用需要实例化,静态方法不需要实例化)

    普通方法里可以有静态成员

    <?php
        class FenBi{
            public $lenth;
            public static $color;
            public  function test(){
                echo "颜色为".FenBi::$color;
            }
        }
        FenBi::$color = "红色";
        FenBi::$color;
        $f = new FenBi();
        $f->test();
    ?>
    

       静态方法实例

    <?php
        class A{
            public  function chuanzhi(){
                B::$b = "张三";
            }
        }
        class B{
            public static $b;
        }
        $a = new A();
        $a->chuanzhi();
        echo B::$b
    ?>
    

    构造函数方法

    <?php
        class A{
            public  function chuanzhi(){
                var_dump(new B("张三"));
            }
        }
        class B{
            public  $b;
            public function __construct($b){
                $this->b = $b;  
            }
        }
        $a = new A();
        $a->chuanzhi();
    ?>
    

      

     抽象

    抽象类:类本身就是抽象的,抽象类就是更加抽象的类,无法直接实例化对象,主要作为父类存在可以派生子类。

    抽象方法:抽象的一个方法,不能直接调用主要用来让子类事项

                  子类继承父类的抽象方法,不过子类不重写,那么子类必须为抽象类。

    <?php
        abstract class Ren{
            public abstract function test();//抽象方法不需要加{}
        }
        class china extends Ren{
            public function test(){
                echo "方法重写";
            }//重写抽象类方法
        }
        $a = new China();
        $a->test();
    ?>
    

     

     抽象类里可以有抽象方法和普通方法

    接口

    里面只能有抽象方法,不能有别的

    接口是极度抽象的类

    接口有面向对象的接口和API:网络数据接口。

    <?php
        interface USB{
            public function read();
            public function write();
        }//面向对象的接口关键字interface
        class ShuBiao implements USB{//关键字不再是extends  关键字是implements
            function read(){
                echo"鼠标插入<br>";
            }
            function write(){
                echo"正常使用";
            }
        }
        $a = new ShuBiao();
        $a->read();
        $a->write();
    ?>
    

      

  • 相关阅读:
    三级联动(在YII框架中)
    用composer安装Yii
    在apache中设置访问目录后进入的默认页面为index.php
    php mb_convert_encoding的使用
    采集数据和memchche的存储使用,分页展示
    php操作Memcache
    前端页面卡顿?或是DOM操作惹的祸,需优化代码
    windows mongodb 安装
    浅谈WebSocket
    使用Spring MVC HandlerExceptionResolver处理异常
  • 原文地址:https://www.cnblogs.com/xiaohaihuaihuai/p/8252115.html
Copyright © 2020-2023  润新知