PHP物件導向編程

來源:互聯網
上載者:User

標籤:ace   否則   實現   許可權   子類   需要   sel   成員   面向   

物件導向三大特徵:

  封裝、繼承、多態

類:

類(屬性、方法)、對象、方法覆蓋、

靜態(屬性/方法)靜態成員被這個類的每個執行個體對象所共用,可以用self訪問

在類裡面定義常量使用的是“const”這個關鍵字,用“const”修飾的成員屬性的訪問方式和“static”修飾的成員訪問的方式差不多,也是使用“類名”,在方法裡面使用“self”關鍵字。但是不用使用“$”符號,也不能使用對象來訪問。

抽象類別

抽象方法,所謂的沒有方法體指的是,在方法聲明的時候沒有大括弧以及其中的內容,而是直接在聲明時在方法名後加上分號結束,另外在聲明抽象方法時還要加一個關鍵字“abstract”來修飾;

只要一個類裡面有一個方法是抽象方法,那麼這個類就要定義為抽象類別,抽象類別也要使用“abstract”關鍵字來修飾;

抽象類別不能產生執行個體對象

子類必須把父類中的抽象方法全部都實現,否則子類中還存在抽象方法,那麼子類還是抽象類別,還是不能執行個體化類;

 介面

PHP與大多數物件導向程式設計語言一樣,不支援多重繼承。也就是說每個類只能繼承一個父類。為瞭解決這個問題,PHP引入了介面,介面的思想是指定了一個實現了該介面的類必須實現的一系列方法。介面是一種特殊的抽象類別,抽象類別又是一種特殊的類,所以介面也是一種特殊的類,為 什麼說介面是一種特殊的抽象類別呢?如果一個抽象類別裡面的所有的方法都是抽象方法,那麼我們就換一種聲明方法使用“介面”;也就是說介面裡面所有的方法必須 都是聲明為抽象方法,另外介面裡面不能聲明變數(但可聲明常量constant),而且介面裡面所有的成員都是public許可權的。所以子類在實現的時候 也一定要使用public許可權實限。

  聲明一個類的時候我們使用的關鍵字是“class”,而介面一種特殊的類,使用的關鍵字是“interface”;

因為介面是一種特殊的抽象類別,裡面所有的方法都是抽象方法,所以介面也不能產生執行個體對象; 它也做為一種規範,所有抽象方法需要子類去實現。

我們可以使用”extends”關鍵字讓一個介面去繼承另一個介面

  這個抽象類別還要有子類把它所有的抽象方法都實現才行;

 

PHP物件導向編程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.