程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP類的特性實例分析

PHP類的特性實例分析

編輯:PHP綜合

本文實例講述了PHP類的特性。分享給大家供大家參考,具體如下:

對象向下傳遞特性

當一個對象調用一個實例方法,然後在該方法中又去靜態調用另一個類的方法,則在被靜態調用的方法中獲得源方法中的對象(this)

<?php
class bee{
  public $a = 1;
  public function f(){
    echo $this->a;
    echo '<br>';
    @lig::f();
  }
}
class lig{
  public $a = 2;
  public function f(){
    echo $this->a;
  }
}
$obj = new bee();
$obj->f();

運行結果為:

1
1

static 後期靜態綁定

static有3個不同含義的語法

函數中的靜態變量

function f(){
  static $v = 1;
}

類中的靜態成員

class bee{
  static $v = 1;
  static function f(){}
}

方法中的動態指定‘當前類',與self不同,static所代表的是調用本方法的類(動態),self指其代碼所在的類(靜態)

class bee{
  static public $a = 10;
  static public function f(){
    echo get_class().':';
    echo self::$a.'-';
    echo static::$a;
  }
}
class lig extends bee{
  static public $a = 20;
}
echo bee::f();
echo '<br>';
echo lig::f();

運行結果如下:

bee:10-10
bee:10-20

面向對象三大思想

1. 封裝

就是把數據封裝起來盡量不給別人看,可以認為最基本的封裝是把很多的數據封裝類裡面,但更嚴格地講,是盡量將屬性做成私有的,並通過共有的方法向外提供操作。

2. 繼承

3. 多態

通常指的是一個對象用同樣的方法得到不同的結果
也指不同的對象使用相同的方法得到不同的結果

PS:自 PHP 5.3.0 起,可以用一個變量來動態調用類。但該變量的值不能為關鍵字 self,parent 或 static【本例測試運行環境為php5.3.3】。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved