php物件導向全攻略 (十二) 抽象方法和抽象類

2022-10-06 05:42:10 字數 1513 閱讀 8558

抽象方法和抽象類

在oop 語言中,乙個類可以有乙個或多個子類,而每個類都有至少乙個公有方法做為

外部**訪問其的介面。而抽象方法就是為www.cppcns.com了方便繼承而引入的,我程式設計客棧們先來看一下抽象類和

抽象方法的定義再說明它的用途。

什麼是抽象方法?我們在類裡面定義的沒有方法體的方法就是抽象方法,所謂的沒有方

法體指的是,在方法宣告的時候沒有大括號以及其中的內容,而是直接在宣告時在方法名後

加上分號結束,另外在宣告抽象方法時還要加乙個關鍵字「abegbdkbinstract」來修飾;

例如: 程式設計客棧

abstract function fun1();

abstract function fun2();

上例是就是「abstract」修飾的沒有方法體的www.cppcns.com抽象方法「fun1()」和「fun2()」,不要忘記

抽象方法後面還要有乙個分號;那麼什麼是抽象類呢?只要乙個類裡面有乙個方法是抽象方

法,那麼這個類就要定義為抽象類,抽象類也要使用「abstract」關鍵字來修飾;在抽象類裡

面可以有不是抽象的方法和成員屬性,但只要有乙個方法是抽象的方法,這個類就必須宣告

為抽象類,使用「abstract」來修飾。

例如:

**片段

複製** **如下:

abstract class demo }

上例中定義了乙個抽象類「demo」使用了「abstract」來修飾,在這個類裡面定義了一

個成員屬性「$test」,和兩個抽象方法「fun1」和「fun2」還有乙個非抽象的方法fun3();那

麼抽象類我們怎麼使用呢?最重要的一點就是抽象類不能產生例項物件,所以也不能直接使

用,前面我們多次提到過類不能直接使用,我們使用的是通過類例項化出來的物件,那麼抽

象類不能產生例項物件我們宣告抽象類有什麼用呢?我們是將抽象方法是做為子類過載的模

板使用的,定義抽象類就相當於定義了一種規範,這種規範要求子類去遵守,子類繼函抽象

類之後,把抽象類裡面的抽象方法按照子類的需要實現。子類必須把父類中的抽象方法全部

都實現,否則子類中還存在抽象方法,那麼子類還是抽象類,還是不能例項化對;為什麼我

們非要從抽象類中繼承呢?因為有的時候我們要實現一些功能就必須從抽象類中繼承,否則

這些功能你就實現不了,如果繼承了抽象類,就要實現類其中的抽象方法;

**片段

複製** **如下:

abstract class demo

} $demo=new demo(); //抽象類為能產生例項物件,所以這樣做是錯的,例項化物件交給子類

class test extends demo

function fun2()

} $test=new test(); //子類可以例項化物件,因為實現了父類中所有抽象方法

?>

本文標題: php物件導向全攻略 (十二) 抽象方法和抽象類

本文位址:

php物件導向全攻略 (九)訪問型別

13.訪問型別 型別的訪問修飾符允許開發人員對類成員的訪問進行限制,這是php5 的新特性,但卻 是oop 語言的乙個好的特性。而且大多數oop 語言都已支援此特性。php5 支援如下3 種訪 問修飾符 public 公有的 預設的 private 私有的 和protected 受保護的 三種。pu...

php物件導向全攻略 (一) 物件導向基礎知識

1.物件導向的概念 物件導向程式設計 object oriented programming,oop,物件導向程式設計 是一種計算機程式設計架構,oop 的一條基本原則是電腦程式是由單個能夠起到子程式作用的單元或物件組合而成,oop 達到了軟體工程的三個目標 重用性 靈活性和擴充套件性。為了實現整體...

PHP 檔案上傳全攻略

1.表單部分 enctype multipart form data 表單的method必須是post 表單選項max file size隱藏域用於限制上傳檔案大小,它必須放在檔案表單元素前面,單位為位元組。如 複製 如下 2.處理上傳檔案 上傳時,php收到關於該檔案的資訊陣列,這些資訊可以在 f...