静态和抽象和接口

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

静态成员赋值取值

<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();
?>

  

原文地址:https://www.cnblogs.com/xiaohaihuaihuai/p/8252115.html