补完 抽象

Posted on 2016-12-15 23:08  王小明爱红领巾  阅读(87)  评论(0编辑  收藏  举报
//静态

//普通成员
//普通成员是属于对象的

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

//普通方法里面可以调用静态成员
//静态方法里面不能调用普通成员
//self关键字 在类里面代表该类 用self的时候需要“::”双冒号
    class Ren
    {
        public $name = "张三";
        public $zhongzu;
        function Say()
        {
            echo self::$zhongzu."你好";
        }
        //静态方法
        static function Run()
        {
            echo $this->name;
        }
    }
Ren::$zhongzu = "战斗民族";
Ren::Run();
$s = new Ren();
$s->Say();
//抽象类 不能被实例化 可以作为父类使用 关键词是abstract
abstract class DongWu
{
    public $name;
    public $age;
    
    function Run()
    {
        echo "跑";
    }
}

class Dog extends DongWu
{
    
}

$d = new Dog();
$d->Run();


输出结果是 “跑”
abstract class YunSuan
{
    public $a;
    public $b;
    
    function Suan()
    {
    }
}

class Jia extends YunSuan
{
    function Suan()
    {
        return $this->a+$this->b;
    }
}

class Jian extends YunSuan
{
    function Suan()
    {
        return $this->a-$this->b;
    }
}

class Cheng extends YunSuan
{
    function Suan()
    {
        return $this->a*$this->b;
    }    
}

$jia = new Cheng();
$jia->a=10;
$jia->b=5;
echo $jia->Suan();

由于是进行了cheng的路径 所以输出结果是 50
//接口 极度抽象的类,接口里面的方法主要是来控制子类必须实现该方法 关键词是interface  implements 
interface IUSB
{    
    function Read(); //接口里面只声明函数名
    function Write(); 
}

class ShuBiao implements IUSB
{
    function Read()
    {
        echo "鼠标插上了";
    }
    function Write()
    {
        echo "给鼠标传了数据";
    }
}

$s = new ShuBiao();
$s->Read();

输出结果是“鼠标被插上了”