色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP抽象類 介紹

在自然語言中,我們理解抽象的概念是,一個(gè)物體的一種大的描述,這種描述對某類物體來說是共有的特性。那么在php中也是一樣的,我們把一個(gè)類進(jìn)行抽象,可以指明類的一般行為,這個(gè)類應(yīng)該是一個(gè)模板,它指示它的子方法必須要實(shí)現(xiàn)的一些行為。
php抽象類應(yīng)用的定義:
abstract class ClassName{
}

php抽象類應(yīng)用要點(diǎn):
  1.定義一些方法,子類必須完全實(shí)現(xiàn)這個(gè)抽象中所有的方法
  2.不能從抽象類創(chuàng)建對象,它的意義在于被擴(kuò)展
  3.抽象類通常具有抽象方法,方法中沒有大括號

php抽象類應(yīng)用重點(diǎn):
  1.抽象方法不必實(shí)現(xiàn)具體的功能,由子類來完成
  2.在子類實(shí)現(xiàn)抽象類的方法時(shí),其子類的可見性必須大于或等于抽象方法的定義
  3.抽象類的方法可以有參數(shù),也可以為空
  4.如果抽象方法有參數(shù),那么子類的實(shí)現(xiàn)也必須有相同的參數(shù)個(gè)數(shù)

php抽象類應(yīng)用示例:
abstract public function_name(); //注意沒有大括號
php抽象類規(guī)則:
某個(gè)類只要至少含有一個(gè)抽象方法,就必須聲明為抽象類
抽象方法,不能夠含有函數(shù)體
繼承抽象類的子類,實(shí)現(xiàn)抽象方法的,必須跟該抽象方法具有相同或者更低的訪問級別
繼承抽象類的子類,如果不實(shí)現(xiàn)所有抽象方法,那么該子類也為抽象類
作為演示,我們來實(shí)現(xiàn)一個(gè)簡單的抽象類:計(jì)算矩形的面積。這個(gè)矩形可以從形狀類擴(kuò)展。
復(fù)制代碼 代碼如下:
< ?php
abstract class Shape {
abstract protected function get_area();
//和一般的方法不同的是,這個(gè)方法沒有大括號
//你不能創(chuàng)建這個(gè)抽象類的實(shí)例:$Shape_Rect= new Shape();
}
class Rectangle extends Shape{
private $width;
private $height;
function __construct($width=0,
$height=0){
  $this->width=$width;
  $this->height=$height;
}
function get_area(){
  echo ($this->width+$this->height)*2;
}
}
$Shape_Rect = new Rectangle(20,30);
$Shape_Rect->get_area();
?>

這也算是一個(gè)簡單的例子,基本上可以說明php中抽象類的用法了,其他的不想多說了。個(gè)人覺得抽象類一般在大的項(xiàng)目才會(huì)用吧,因?yàn)槲矣X得它實(shí)在是要遵守的”規(guī)矩”太多了,用起來不方便!當(dāng)然這只是我的意見。還想多說一些,php抽象類應(yīng)用是單繼承的,也就是說你只能從一個(gè)類繼承,而不能一個(gè)類繼承了A類,又繼承B類,如果要實(shí)現(xiàn)這樣的功能,得使用接口相關(guān)的知識了,在此暫時(shí)不討論php接口的知識!一句話:單繼承多接口中!

php技術(shù)PHP抽象類 介紹,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 贡嘎县| 镇康县| 怀宁县| 常宁市| 舟山市| 赞皇县| 德钦县| 青海省| 抚松县| 林芝县| 龙海市| 宿松县| 庆阳市| 宁安市| 西盟| 锡林浩特市| 抚松县| 图木舒克市| 清河县| 府谷县| 庆阳市| 临城县| 竹北市| 高邮市| 辽阳市| 绥滨县| 石柱| 大厂| 平果县| 漳浦县| 静宁县| 临颍县| 格尔木市| 中西区| 祁东县| 霍城县| 巴林右旗| 黔东| 吕梁市| 新田县| 连平县|