在自然語言中,我們理解抽象的概念是,乙個物體的一種大的描述,這種描述對某類物體來說是共有的特性。那麼在php中也是一樣的,我們把乙個類進行抽象,可以指明類的一般行為,這個類應該是乙個模板,它指示它的子方法必須要實現的一些行為。
php抽象類應用的定義:
abstract class classname
php抽象類應用要點:
1.定義一些方法,子類必須完全實現這個抽象中所有的方法
2.不能從抽象類建立物件,它的意義在於被擴充套件
3.抽象類通常具有抽象方法,方法中沒有大括號
php抽象類應用重點:
1.抽象方法不必實現具體的功能,由子類來完成
2.www.cppcns.com在子類實現抽象類的方法時,其子類的可見性必須大於或等於抽象方法的定義
3.抽象類的方法可以有引數,也可以為空
4.如果抽象方法有引數,那麼子類的實現也必須有相同的引數個數
php抽象類應用示www.cppcns.com例:
abstract public function_name(); //注意沒有大括號
php抽象類規則:
某個類只要至少含有乙個抽象方法,就必須宣告為抽象類
抽象方法,不能夠含有函式體
繼承抽象類的子類,實現抽象方法的,必須跟該抽象方法具有相同或者更低的訪問級別
繼承抽象類的子類,如果不實現所有抽象方法,那麼該子類也為抽象類
作為演示,我們來實現乙個簡單的抽象類:計算矩形的面積。這個矩形可以從形狀類擴充套件。
複製** **如下:
< ?php
abstract class shape
class rectangle extends shape
function get_area()
} $shape_rect = new rectangle(20,30);
$shape_rect->get_area();
?>
這也算是乙個簡單的例子,基本上可以說明php中抽象類的用法了,其他的不想多說了。個人覺得抽象類一般在大的專案才會用吧,因為我覺得它實在是要遵守的」規矩」太多了,用起來不方便!當然這只是我的意見。還想多說一些,php抽象類應用是單繼承的,也就是說你只能從乙個類繼承,而不能乙個類繼承了a類,又繼承b類,如果要實現這樣的功能,得使用介面相關的知識了,在此暫時不討論php介面的知識!一句話:單繼承多介面中!
本文標題: php抽象類 介紹
本文位址: /wangluo/php/87945.html
php抽象類的基礎介紹
php 5 支援抽象類和抽象方法。定義為抽象的類不能被例項化。任何乙個類,如果它裡面至少有乙個方法是被宣告為抽象的,那麼這個類就必須被宣告為抽象的。被定義為抽象的方法只是宣告了其呼叫方式 引數 不能定義其具體的功能實現。繼承乙個抽象類的時候,子類必須定義父類中的所有抽象方法 另外,這些方法的訪問控制...
PHP 物件導向 抽象類繼承抽象類
抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...
PHP 物件導向 抽象類繼承抽象類
抽象類繼承另外乙個抽象類時,不用重寫其中的抽象方法。抽象類中,不能重寫抽象父類的抽象方法。這樣的用法,可以理解為對抽象類的擴充套件。下面的例子,演示了乙個抽象類繼承自另外乙個抽象類時,不需要重寫其中的抽象方法。abstract class user abstract class vipuser ex...