欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

php學(xué)習 面向?qū)ο?課件第2/2頁

 更新時間:2008年06月15日 12:58:59   作者:  
面向?qū)ο? 對象概念是面向?qū)ο蠹夹g(shù)的核心。在顯示世界里我們所面對的事情都是對象,如計算機、電視機、自行車等。在面向?qū)ο蟮某绦蛟O(shè)計中,對象是一個由信息及對信息進行處理的描述所組成的整體,是對現(xiàn)實世界的抽象

    靜態(tài)屬性和方法
static關(guān)鍵字 來聲明靜態(tài)方法
static靜態(tài)變量 在類的內(nèi)部生成一個靜態(tài)變量 就是能夠被所有類的實力化共想 也就是說靜態(tài)成員則放到了“初始化靜態(tài)段”,在類第一次被加載的時候放入的,可以讓堆內(nèi)存里面的每個對象所共享
使用方法:self::$靜態(tài)屬性、self::靜態(tài)方法
static function p(){
    echo self::$country;
    echo self::PI;//訪問常量
    //echo $this->name;在靜態(tài)方法中只能操作靜態(tài)屬性
    //self::p();
    }
外部調(diào)用:類::$靜態(tài)屬性、類::靜態(tài)方法
const關(guān)鍵字:用來生成常量 常量是唯一的不能改變的 慣例常量為大寫
  const CONSTANT = 'constant value'; 生成一個常量
  echo self::CONSTANT;//類內(nèi)部訪問
  echo ClassName::CONSTANT;//類外部訪問

    繼承性
B類的對象擁有A類的全部屬性與行為,稱作B對A類的繼承。
假如一個類從多個類中繼承了屬性與服務(wù),這稱為多繼承,通常我們成為繼承類為子類被繼承類為父類,在PHP中只有單繼承,但一個父類可以被多個類繼承,但是一個子類只能有一個父類,但是允許關(guān)聯(lián)繼承,通過繼承可以減化類的定義。
extende聲明繼承關(guān)系 
語法格式:class  B  extends  A  此范例指明 B繼承了A
    類的外部訪問對子類是有效的

    子類與父類的屬性與方法
子類繼承父類的所有內(nèi)容,但父類中的private部分不能直接訪問
子類中新增加的屬性和方法是對父類的擴展
子類中定義的與父類同名的屬性是對父類屬性的覆蓋,同名的方法也是對父類方法的覆蓋
    重寫的方法
在子類中,使用parent訪問父類中的被覆蓋的屬性和方法
parent::__construce();
parent::$name;
parent::fun();
覆蓋父類原有屬性
clone克窿對象 語法格式$c=clone $p;   $c克窿的對象$p 輸出echo $c->name;  

    對象比較
===兩個比較運算符。
==是比較兩個對象的內(nèi)容。
===是比較對象的句柄,即引用地址。
instanceof操作符用于檢測對象實力是否屬于某一個類的類型  屬于返回true 不屬于返回false
__clone()如果想在克隆后改變原對象的內(nèi)容,需要在__clone()中重寫原本的屬性和方法
  function __clone(){
      $this->name="我是一個克隆人";
    }
final表示一個類是最終版本 也就是說它不能在被子類調(diào)用

    多態(tài)性
多態(tài)性是指在父類中定義的屬性或行為被子類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或行為在父類及其各個子類中具有不同的語義。
就是說同一種方法在子類與父類中執(zhí)行的結(jié)果不同。
class A {
        function info(){
         echo “A INFO”; 
         }  
       }
      class B extends A {
        function info(){
         echo “B INFO”; 
         }  
       }
      class C extends A {
        function info(){ 
          echo “C INFO”; 
          } 
       }
      function printinfo($obj){ 
          function printinfo(A $obj){
          if($obj instanceof A)
          $obj->info();
          $obj->info();
        }
      }                                             
$a=new A();  $b=new B();  $c=new C();
printinfo($a);  //輸出A INFO
printinfo($b);  //輸出B INFO
printinfo($c);  //輸出C INFO

    抽象方法和抽象類
抽象方法是作為子類摸版使用的。
abstract class Person{
  public $name;
  abstract function getInfo();
}
抽象類不能被實力話,一個抽象類中,必須有一個抽象方法。但是抽象類中可以定義動態(tài)函數(shù)。
    接口
當一個類繼承了一個接口之后,它要覆蓋接口的所有方法,接口只能聲明常量,接口的方法必須定義為共有否則無法繼承,接口可以與多個接口間繼承
語法:
interface PCI{
  const TYPE="PCI";
  //public $name; error
  function start();
  function stop();
  }
接口中的方法可以聲明為static
  interface A{ function a();}
  interface B{ function b();}
  interface C extends A{ function c();}
  class D implements B,C{
    function a(){}
    function b(){}
    function c(){}
  }
phpchina教學(xué)課件
php面向?qū)ο?rar

相關(guān)文章

最新評論