亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

PHP面向對象編程

難度初級
時長 3小時14分
學習人數
綜合評分9.67
292人評價 查看評價
9.9 內容實用
9.7 簡潔易懂
9.4 邏輯清晰
  • __autoload(); 當實例化一個不存在的類時,自動調用此函數. 通過定義這個函數來啟用類的自動加載。 function __autoload($class_name) { $path = str_replace('_', '/', $class_name); require_once $path . '.php'; } // 這里會自動加載Http/File/Interface.php 文件 $a = new Http_File_Interface(); serivalize 串行化:返回一個包含字節流的字符串 unserivalize 反串行化:重新把字符串變回php原來的值。 對象、數組都可以串行化。 串行化serialize可以把變量包括對象,轉化成連續bytes數據. 可以將串行化后的變量存在一個文件里或在網絡上傳輸. 然后再反串行化還原為原來的數據. 在反串行化類的對象之前定義的類,PHP可以成功地存儲其對象的屬性和方法. 有時你可能需要一個對象在反串行化后立即執行. 為了這樣的目的,PHP會自動尋找__sleep和__wakeup方法. 當一個對象被串行化,PHP會調用__sleep方法(如果存在的話). 在反串行化一個對象后,PHP 會調用__wakeup方法. 這兩個方法都不接受參數. __sleep方法必須返回一個數組,包含需要串行化的屬性. PHP會拋棄其它屬性的值. 如果沒有__sleep方法,PHP將保存所有屬性. 在程序執行前,serialize() 函數會首先檢查是否存在一個魔術方法 __sleep.如果存在,__sleep()方法會先被調用, 然后才執行串行化(序列化)操作。這個功能可以用于清理對象,并返回一個包含對象中所有變量名稱的數組。如果該方法不返回任何內容,則NULL被序列化,導致 一個E_NOTICE錯誤。與之相反,unserialize()會檢查是否存在一個__wakeup方法。如果存在,則會先調用 __wakeup方法,預先準備對象數據。 __sleep方法常用于提交未提交的數據,或類似的操作。同時,如果你有一些很大的對象, 不需要保存,這個功能就很好用。__wakeup經常用在反序列化操作中,例如重新建立數據庫連接,或執行其它初始化操作。
    查看全部
    1 采集 收起 來源:課程總結

    2017-02-11

  • class NbaPlayer{ public $name; } $james = new NbaPlayer(); $james -> name = 'James'; echo $james -> name.'<br />'; $james1 = clone $james; $james1 -> name = 'James1'; echo $james1 -> name.'<br/>'; echo $james -> name; 輸出結果為:james還是james,james1變成了james1 如果是直接賦值:改變james1,james也跟著改變 想改變一個對象,但是又不想影響源對象,使用clone
    查看全部
  • 屬性重載只能在對象中進行。在靜態方法中,這些魔術方法將不會被調用。所以這些方法都不能被 聲明為 static。從 PHP 5.3.0 起, 將這些魔術方法定義為 static 會產生一個警告。 不可訪問屬性,也包括雖然跟定義了沒有訪問權限 格式: __get()方法:這個方法用來獲取私有成員屬性值的,有一個參數,參數傳入你要獲取的成員屬性的名稱,返回獲取的屬性值,這個方法不用我們手工的去調用,因為我們也可以把這個方法做成私有的方法,是在直接獲取私有屬性的時候對象自動調用的。 __set()方法:這個方法用來為私有成員屬性設置值的,有兩個參數,第一個參數為你要為設置值的屬性名,第二個參數是要給屬性設置的值,沒有返回值。
    查看全部
  • __call() 方法的重載 當對象訪問不存在的方法名稱時,__call()方法會被自動調用 格式:__call(string $function_name, array $arguments) 該方法有兩個參數,第一個參數 $function_name 會自動接收不存在的方法名,第二個 $args 則以數組的方式接收不存在方法的多個參數。 __callStatic() 靜態方法的重載,注意這個方法需要設定為static 當對象訪問不存在的靜態方法名稱時,__callStatic()方法會被自動調用 格式: public static mixed __callStatic ( string $name , array $arguments ) $name 參數是要調用的方法名稱。$arguments 參數是一個枚舉數組,包含著要傳遞給方法 $name 的參數。 這兩個方法在PHP里面也被成為方法的重載(overloading) 注意區分重寫(overwrite) 通過這兩個方法,同一個方法的名稱的調用可以對應不同的方法實現
    查看全部
  • __tostring() 當對象唄當作String使用時,這個方法會被自動調用 echo $obj; __invoke(); 當對象被當作成員方法調用時,這個方法會被自動調用 $obj(4);
    查看全部
  • __construct() __destruct() __tostring() __invoke() __call() __callStatic() __get() __set() __isset() __unset() __clone()
    查看全部
    0 采集 收起 來源:章節簡介

    2017-02-11

  • 接口里面的方法都是沒有實現的,而類里面的方法都是有實現的 當接口中的某些方法對于所有的實現類都是一樣的實現方法,只有部分方法需要用到多態的特性時,就會需要用到抽象類 abstract 關鍵字用于定義抽象類 在抽象方法前面添加abstract 關鍵字可以標明這個方法是抽象方法不需要具體的實現 抽象類中可以包含普通的方法,普通方法有方法的具體實現 繼承抽象類的關鍵字是 extends 繼承抽象類的子類需要實現抽象類中定義的抽象方法 抽象類不能被實例化 含有抽象方法的類肯定是抽象類,但不是所有的抽象類都必須包含抽象方法
    查看全部
  • 因為接口的方法實現可以有很多,所以對于接口里面定義的方法的具體實現是多種多樣的,這種特性我們稱為多態。
    查看全部
  • 接口就是把不同類的共同行為進行了定義,然后在不同的類里面實現不同的功能。 interface 關鍵字用于定義接口 接口里面的方法不需要有方法的實現,就是不用加{} implements 關鍵字用于表示類實現某個接口 實現了某個接口之后,必須提供接口中定義的所有方法的具體實現 接口不能被實例化 可以使用instanceof 關鍵字來判斷某個對象是否實現了某個接口 可以使用extends 關鍵字讓接口繼承接口 當類實現子接口時,父接口定義的方法也需要在這個類里面具體實現
    查看全部
  • 在子類中用 parent 關鍵字可以訪問父類中被子類重寫的方法 例:parent::test(); 在類的內部可以使用$this -> 方法名 的方式訪問自身的成員方法,也可以使用self::方法名 的方式訪問。 有一個成員叫常量成員,使用const關鍵字定義。 訪問常量成員使用self::常量名的方式訪問
    查看全部
  • 子類中編寫跟父類完全一致的方法可以完成對父類方法的重寫 在成員方法前面添加 final 關鍵字能夠讓這個方法不能在子類中被重寫 對于不想被任何類繼承的類可以在 class之前添加 final 關鍵字
    查看全部
  • 靜態 static
    查看全部
  • 當需要所有的實例共用一個成員的時候,會用到靜態屬性、靜態方法 靜態屬性、靜態方法定義時在訪問控制關鍵字后面添加static關鍵字即可。 在類中使用靜態成員的時候,用self關鍵字后面跟上::操作符即可,注意:在訪問靜態成員屬性的時候,::后面需要跟$符號,訪問靜態方法則不需要。 在類的外部訪問時,不需要實例化,直接使用類名跟上::操作符的方式。 在類的內部使用parent 關鍵字就能夠訪問父類的靜態成員 例:echo parent::$sValue;
    查看全部
  • 在php中可以用 extends 關鍵字來表示類的繼承,后面跟父類的類名。 在php中 extends 后面只能跟一個類的類名,這就是php的單繼承原則。
    查看全部
  • 注意: 當我們拿到一個對象,要做引用賦值的時候注意&符號的區別: 有&:相當于創建了兩個名字而已,沒有生成新的引用,還是同一個引用 沒有&:相當于是兩個引用
    查看全部
    0 采集 收起 來源:本章小結

    2018-03-22

舉報

0/150
提交
取消
課程須知
1、本門課程是立志想成為優秀程序員的必修課 2、基本概念部分適合所有人學習 3、實踐部分則需要有基本的PHP知識,這樣會更加有利于你對面向對象的理解和掌握
老師告訴你能學到什么?
1、面向對象的基本概念 2、面向對象的基本思路 3、面向對象的基本原則 4、類的概念和PHP實踐 5、繼承的概念和案例實踐 6、接口的概念和案例實踐 7、多態的概念和案例實踐 8、PHP中的魔術方法基本實踐

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!