天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP 面向對象實現代碼

1,簡單的對象創建
復制代碼 代碼如下:
//類的作用域final:將阻止子類重寫這個字段
//方法的作用域abstract: 在父類中聲明,在子類中實現
//定義類:
class Employee{
//定義字段
private $name;
protected $title;
public $wage;
//常量
const PI = 3.1415926;
//靜態成員變量
private static $visitors = 0;
//定義構造函數
function __construct(){
//使用靜態成員變量
self::$visitors++;
echo "constructor";
}
//定義析構函數
function __destruct(){
echo "destruct";
}
//聲明方法
public function clockIn(){
//使用字段
echo "Member $this->name";
}
//在訪問一個對象并不擁有的屬性時(比如私有字段),如果該對象用戶__get和__set方法,則會自動調用__get方法或__set方法
function __set($property,$value){
$this->$property = $value;
}
function __get($property){
return $this->$property;
}
}
//類的繼承 Manager繼承Employee
class Manager extends Employee {
function __construct(){
//調用父類的構造函數或方法
parent::__construct();
parent::clockIn();
echo "Manager constructor";
}
}
//創建對象
$employee = new Employee();
$employee->wage = 10000;
//使用常量
echo Employee::PI;
//調用方法
$employee->clockIn();
$manager = new Employee();
//instanceof判斷一個對象是類的實例、類的子類,還是實現了某個特定接口
if($manager instanceof Employee ) echo "Yes";

2,高級OO特性
(1)對象克隆
復制代碼 代碼如下:
//對象克隆
class ClassA{
private $name;
private $title;
public function setName($name){
$this->name = $name;
}
function getName(){
return $this->name;
}
public function setTitle($title){
$this->title = $title;
}
public function getTitle(){
return $this->title;
}
function __clone(){
echo "我被克隆了","<br>";
}
}
$classA = new ClassA();
$classA->setName("NameA");
$classA->setTitle("TitleA");
$classB = clone $classA;
$classB->setName("NameB");
echo $classA->getName(),"<br>",$classA->getTitle(),"<br>";
echo $classB->getName(),"<br>",$classB->getTitle(),"<br>";
/* output
我被克隆了
NameA
TitleA
NameB
TitleA
*/

(2)接口
復制代碼 代碼如下:
//接口
interface IPillage{
function method();
}
class ClassC extends ClassA implements IPillage {
function method(){
echo "inteface method";
}
}
$classC = new ClassC();
$classC->method();
//inteface method

(3)抽象類
復制代碼 代碼如下:
//抽象類,是不能實例化的類,只能作為其它類繼承的基類
abstract class BaseClass{
protected $name;
abstract function method();
}
class ChileClass extends BaseClass {
function method(){
echo "method";
}
}
$child = new ChileClass();
$child->method();
//output method

注:
如果要創建一個模型,這個模型將由一些緊密相關的對象采用,就可以使用抽象類。如果要創建由一些不相關對象采用的功能,就使用接口。
如果必須從多個來源繼承行為,就使用接口。php可以繼承多個接口,但不能擴展多個抽象類。
如果知道所有類都會共享一個公共的行為實現,就使用抽象類,并在其中實現該行為。在接口中無法實現行為。

php技術PHP 面向對象實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产婷婷色综合AV蜜臀AV | 亚洲国产成人精品无码区APP | 午夜视频在线网站 | 99国产精品久久久久久久日本竹 | 日韩精品久久日日躁夜夜躁影视 | 国产看午夜精品理论片 | 国产精品.XX视频.XXTV | 欧美 日韩 无码 有码 在线 | 国产精品久久久久婷婷五月色 | 国产又色又爽又刺激在线播放 | 国产精品久久久久久亚洲毛片 | 中文字幕午夜乱理片 | 亚洲香蕉网久久综合影院 | jizzjizz中国大学生 | 抽插性奴中出乳精内射 | 国产人妻系列无码专区97SS | 久久99re6国产在线播放 | 人成午夜免费视频 | 国产亚洲精品影视在线 | 欧美ZC0O人与善交的最新章节 | 熟女啪啪白浆嗷嗷叫 | 超碰日韩人妻高清视频 | 久久九九有精品国产23百花影院 | 国产成人精品男人的天堂网站 | 伊人久久大香线蕉综合99 | 亚洲免费视频网站 | 国产午夜人做人免费视频中文 | 麻豆免费观看高清完整视频在线 | 啦啦啦影院视频在线看高清... | 免费毛片在线播放 | 中文字幕在线视频网站 | 成人国产在线看不卡 | 亚洲 日韩 自拍 视频一区 | 六六影院午夜伦理 | 丰满的女朋友韩国版在线观看 | 国产成人精品免费青青草原app | 欧美激情性AAAAA片欧美 | 午夜影院视费x看 | 男女交性视频无遮挡全过程 | 年轻老师毛茸茸自由性 | 一本大道手机在线看 |