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

php基礎知識:類與對象(1)

類的定義:
   以關鍵字 class 開頭,后面跟著類名,可以是任何非 php 保留字的名字。后面跟著一對花括號,里面包含有類成員和方法的定義。

偽變量$this
可以在當一個方法在對象內部調用時使用。$this 是一個到調用對象(通常是方法所屬于的對象,但也可以是另一個對象,如果該方法是從第二個對象內靜態調用的話)的引用。
//??靜態調用的內部到底是怎樣的?
看個例子:
class A
{
   function foo()
   {
       if (isset($this)) {
           echo '$this is defined (';
           echo get_class($this);
           echo ")/n";
       } else {
           echo "/$this is not defined./n";
       }
   }
}
class B
{
   function bar()
   {
       A::foo();
   }
}
$a = new A();
$a->foo();
A::foo();
$b = new B();
$b->bar();
B::bar();
輸出結果為:
$this is defined (a)
$this is not defined.
$this is defined (b)
$this is not defined.
/*我希望知道這個例子的內存等的具體實現,我暫時無法理解。如果有人可以講清楚,可以告訴我。我們宿舍牛頭現在正在冬眠,等他醒來,我會問。*/

new
要創建一個對象的實例,必須創建一個新對象并將其賦給一個變量。當創建新對象時該對象總是被賦值,除非該對象定義了構造函數并且在出錯時拋出了一個異常。
當把一個對象已經創建的實例賦給一個新變量時,新變量會訪問同一個實例,就和用該對象賦值一樣。此行為和給函數傳遞入實例時一樣。可以用克隆給一個已創建的對象建立一個新實例。
(這幾句話雖然很短,但是未必容易理解。)
例子如下:
class SimpleClass
{
   // 成員聲明
   public $var = 'a default value';

   // 方法聲明
   public function displayVar() {
       echo $this->var;
   }
}
//看下面的圖.1>new 在heap(堆)中實例化一個對象。2>將指針$instance指向他
$instance = new SimpleClass();
//3>將指針$assigned指向heap中的實例化對象
$assigned   =  $instance;
//4>將$instance的引用(地址)賦值給$reference
$reference  =& $instance;
$instance->var = '$assigned will have this value';
$instance = null; // 5>間斷$instance與heap中實例的連接。
var_dump($instance);
var_dump($reference);
var_dump($assigned);
輸出:
NULL
NULL
object(SimpleClass)#1 (1) {
  ["var"]=>
    string(30) "$assigned will have this value"
}
圖示整個過程:


類繼承extends
一個類可以在聲明中用 extends 關鍵字繼承另一個類的方法和成員。不能擴展多個類,只能繼承一個基類。

被繼承的方法和成員可以通過用同樣的名字重新聲明被覆蓋,除非父類定義方法時使用了 final 關鍵字。可以通過 parent:: 來訪問被覆蓋的方法或成員。(繼承的機制到底怎樣的?)
源代碼如下:
class ExtendClass extends SimpleClass
{
   // Redefine the parent method
   function displayVar()
   {
       echo "Extending class/n";
       parent::displayVar();
   }
}
$extended = new ExtendClass();
$extended->displayVar();
輸出:
Extending class
a default value

php技術php基礎知識:類與對象(1),轉載需保留來源!

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

主站蜘蛛池模板: 同居了嫂子在线观看 | WWW国产亚洲精品久久久日本 | 超碰日韩人妻高清视频 | 精品国产乱码久久久久乱码 | 亚洲综合无码一区二区 | 超碰97视频在线观看 | 久久AV国产麻豆HD真实乱 | 少妇无套内谢久久久久 | 青青草偷拍国产亚洲欧洲 | 各种肉黄浪荡故事集 | 69精品人人人人 | 竹菊精品久久久久久久99蜜桃 | 午夜男女爽爽羞羞影院在线观看 | 区产品乱码芒果精品P站在线 | 国产 亚洲 中文字幕 久久网 | 久久棋牌评测 | 精品久久伦理中文字幕 | 亚洲熟女丰满多毛XXXXX | 国产成人国产在线观看入口 | 好看AV中文字幕在线观看 | 超碰在线视频公开 | 国产亚洲精品久久精品69 | 国产成人高清亚洲一区app | 亚洲国产精品无码中文在线 | 欧式午夜理伦三级在线观看 | 99re久久超碰视频精品 | 国产h视频在线观看网站免费 | 亚瑟天堂久久一区二区影院 | 亚洲深夜在线 | 亚洲视频免费 | 国产传媒在线播放 | 免费精品国产人妻国语麻豆 | 无码人妻精品国产婷婷 | 乱叫抽搐流白浆免费视频 | 精品国产免费第一区二区 | 成人性生交大片免费看金瓶七仙女 | av天堂影音先锋在线 | 亚洲一区免费看 | 成人动漫百度影音 | 国产精品成人网 | 亚洲xxxx动漫 |