文章出處
文章列表
先來講靜態
靜態的的分類和區別
1、普通成員
普通成員是屬于對象的
2、靜態成員
靜態成員是屬于類的
加上關鍵字static可以變成靜態的
調用類中的變量,需要雙冒號::
靜態的不需要造新對象
普通方法里面可以調用靜態成員
靜態方法里面不能調用普通方法
self關鍵字在類里面代表該類,靜態成員用的
例:
<?php class Ren { public $name="張三"; public static $zhongzu; //靜態成員 //普通方法 function Say() { echo self::$zhongzu."你好"; 可以調用靜態成員,關鍵字self } //靜態方法 static function Run() { echo $this->name; } } Ren::$zhongzu = "戰斗民族"; 靜態調用類中變量 Ren::Run(); $r = new Ren(); $r->Say(); ?>
抽象類:
比類更加抽象
不能被實例化,作為父類使用
關鍵字abstract寫在類名前面
extends是繼承的意思
<?php 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(); ?>
接口:
極度抽象的類
定義方式不用class 用imterface
命名規則一般用I開頭
接口里面只聲明函數名,沒有函數體,不要寫花括號
繼承接口的關鍵字不是用extends,要用implements
接口里面的方法主要用來控制子類,必須實現該方法
例:
<?php interface IUSB { function Read(); //接口里面只聲明函數名 function Write(); } class ShuBiao implements IUSB { function Read() { echo "鼠標插上了"; } function Write() { echo "給鼠標傳了數據"; } } $s = new ShuBiao(); $s->Read(); //接口 //1.面向對象 interface //2.API ?>
文章列表
全站熱搜