av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語言

php面向?qū)ο笕ヂ?php5接口技術(shù)

時間:2025-02-23 08:18:46 php語言 我要投稿
  • 相關(guān)推薦

php面向?qū)ο笕ヂ?php5接口技術(shù)

  PHP 與大多數(shù)面向?qū)ο缶幊陶Z言一樣,不支持多重繼承.也就是說每個類只能繼承一個父類。以下是小編為大家整理的關(guān)于PHP語言的相關(guān)知識,歡迎來閱讀!

  PHP 與大多數(shù)面向?qū)ο缶幊陶Z言一樣,不支持多重繼承.也就是說每個類只能繼承一個父類。為了解決這個問題,PHP 引入了接口,接口的思想是指定了一個實現(xiàn)了該接口的類必須實現(xiàn)的一系列方法。接口是一種特殊的抽象類,抽象類又是一種特殊的類,所以接口也是一種特殊的類,為什么說接口是一種特殊的抽象類呢?如果一個抽象類里面的所有的方法都是象方法,那么我們就換一種聲明方法使用“接口”;也就是說接口里面所有的方法必須都聲明為抽象方法,另外接口里面不能聲明變量,而且接口里面所有的成員都是public 權(quán)限的。所以子類在實現(xiàn)的時候也一定要使用public 權(quán)限實限。聲明一個類的時候我們使用的關(guān)鍵字是“class”,而接口一種特殊的類,使用的關(guān)鍵字是“interface”;

  類的定義:class 類名{ … } ,接口的聲明:interface 接口名{ … }

  代碼片段

  復(fù)制代碼 代碼如下:

  <?

  abstract class Demo{

  var $test;

  abstract function fun1();

  abstract function fun2();

  function fun3(){

  … .

  }

  }

  $demo=new Demo(); //抽象類為能產(chǎn)生實例對象,所以這樣做是錯的,實例化對象交給子類

  class Test extends Demo{

  function fun1(){

  …

  }

  function fun2(){

  …

  }

  }

  $test=new Test(); //子類可以實例化對象,因為實現(xiàn)了父類中所有抽象方法

  ?>

  上例中定義了一個接口“one”,里面聲明了兩個抽象方法“fun1”和“fun2”,因為接

  口里面所有的方法都是抽象方法,所以在聲明抽象方法的時候就不用像抽象類那樣使用

  “abstract”這個關(guān)鍵字了,默認的已經(jīng)加上這個關(guān)鍵字,另外在接口里邊的“public”這個訪

  問權(quán)限也可以去掉,因為默認就是public 的,因為接口里所有成員都要是公有的,所在對于

  接口里面的成員我們就不能使用“private”的和“protected”的權(quán)限了,都要用public 或是默

  認的。另外在接口里面我們也聲明了一個常量“constant“, 因為在接口里面不能用變量成

  員,所以我們要使用const 這個關(guān)鍵字聲明。

  因為接口是一種特殊的抽象類,里面所有的方法都是抽象方法,所以接口也不能產(chǎn)生實

  例對象;它也做為一種規(guī)范,所有抽象方法需要子類去實現(xiàn)。

  我們可以使用“extends“關(guān)鍵字讓一個接口去繼承另一個接口;

  代碼片段

  復(fù)制代碼 代碼如下:

  <?php

  //使用”extends”繼承另外一個接口

  interface Two extends One{

  function fun3();

  function fun4();

  }

  ?>

  而我們定義一接口的子類去實現(xiàn)接口中全部抽象方法使用的關(guān)鍵字是“implements”,而

  不是我們前面所說的“extends”;

  代碼片段

  復(fù)制代碼 代碼如下:

  <?php

  //使用“implements”這個關(guān)鍵字去實現(xiàn)接口中的抽象方法

  class Three implements One{

  function fun1(){

  … .

  }

  function fun2(){

  … .

  }

  }

  //實現(xiàn)了全部方法,我們?nèi)タ梢允褂米宇惾嵗瘜ο罅?/p>

  $three=new Three();

  ?>

  我們也可以使用抽象類,去實現(xiàn)接口中的部分抽象方法,但要想實例化對象,這個抽象

  類還要有子類把它所有的抽象方法都實現(xiàn)才行;

  在前面我們說過,PHP 是單繼承的,一個類只能有一父類,但是一個類可以實現(xiàn)多個接

  口,就相當于一個類要遵守多個規(guī)范,就像我們不僅要遵守國家的法律,如果是在學校的話,

  還要遵守學校的校規(guī)一樣;

  代碼片段

  復(fù)制代碼 代碼如下:

  <?php

  //使用implements實現(xiàn)多個接口

  class Four implemtns 接口一, 接口二, … .{

  //必須把所有接口中的方法都要實現(xiàn)才可以實例化對象。

  }

  ?>

  PHP 中不僅一個類可以實現(xiàn)多個接口,也可以在繼承一個類的同時實現(xiàn)多個接口,一定

  要先繼承類再去實現(xiàn)接口;

  代碼片段

  復(fù)制代碼 代碼如下:

  <?php

  //使用extends繼承一個類,使用implements實現(xiàn)多個接口

  class Four extends 類名一implemtns 接口一, 接口二, … .{

  //所有接口中的方法都要實現(xiàn)才可以實例化對象

  … … … ..

  }

  ?>

  ?>

【php面向?qū)ο笕ヂ?php5接口技術(shù)】相關(guān)文章:

PHP面向?qū)ο蟪绦蛟O(shè)計之接口用法07-08

PHP面向?qū)ο蟮倪M階學習05-07

PHP語言面向?qū)ο蟮膬?nèi)容06-22

PHP面向?qū)ο蟮哪g(shù)方法詳解12-24

php面向?qū)ο蟮某绦蛟O(shè)計01-25

PHP面向?qū)ο笕筇攸c學習06-14

解讀PHP面向?qū)ο蟪绦蛟O(shè)計實例07-26