傳智播客-韓順平-php從入門(mén)到精通-61-78講面向?qū)ο笳n堂筆記(共34頁(yè))_第1頁(yè)
傳智播客-韓順平-php從入門(mén)到精通-61-78講面向?qū)ο笳n堂筆記(共34頁(yè))_第2頁(yè)
傳智播客-韓順平-php從入門(mén)到精通-61-78講面向?qū)ο笳n堂筆記(共34頁(yè))_第3頁(yè)
傳智播客-韓順平-php從入門(mén)到精通-61-78講面向?qū)ο笳n堂筆記(共34頁(yè))_第4頁(yè)
傳智播客-韓順平-php從入門(mén)到精通-61-78講面向?qū)ο笳n堂筆記(共34頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上      php面向?qū)ο缶幊烫岢鲆粋€(gè)問(wèn)題?張老太養(yǎng)了兩只貓貓:一只名字叫小白,今年3歲,白色。還有一只叫小花,今年100歲,花色。請(qǐng)編寫(xiě)一個(gè)程序,當(dāng)用戶輸入小貓的名字時(shí),就顯示該貓的名字,年齡,顏色。如果用戶輸入的小貓名錯(cuò)誤,則顯示 張老太沒(méi)有這只貓貓。數(shù)組<->對(duì)象 array(1,56,90,100) -> 隱藏問(wèn)題array(對(duì)象,對(duì)象 。) 【數(shù)組對(duì)象】首先我們用現(xiàn)有的知識(shí)來(lái)完成這個(gè)案例:<?php       $cat1_name=”小白”; 

2、      $cat1_age=3;       $cat1_color=”白色”;       /變量是分開(kāi).       $cat2_name=”小花”;       $cat2_age=100;       $cat2_color=”花色”;?>我們能不能把屬于同一事物的 變量,統(tǒng)一管理?解決之道->對(duì)象快速體驗(yàn)案例:<?php/這就是一個(gè)類(

3、貓類)class Cat       /屬性       public $name;    public $age;    public $color;/創(chuàng)建一只貓$cat1=new Cat();/給這只貓賦值.(具體各個(gè))$cat1->name="小白"$cat1->age=3;$cat1->color="白色"$cat2=new Cat();$cat2->name="小花"$cat2-&g

4、t;age=100;$cat2->color="顏色" /如果我們找到一只貓,只要找到 $cat1, 那么該變量所有相關(guān)的屬性都通通的找到$findCatName="小花"if($cat2->name=$findCatName)       echo $cat2->name."|".$cat2->age."|".$cat2->color;?>我們這里說(shuō)明一下類和對(duì)象的關(guān)系(細(xì)節(jié)后面逐步展開(kāi))總結(jié)幾句話:    類是抽象的

5、,代表一類事物    對(duì)象是具體,是類的一個(gè)具體實(shí)例    類是對(duì)象的模板, 對(duì)象是類的一個(gè)個(gè)體實(shí)例    php面向?qū)ο缶幊?#160;     成員屬性的說(shuō)明1.      成員屬性是從某個(gè)事物提取出的,它可以是 基本數(shù)據(jù)類型(整數(shù)、小數(shù)、字符、布爾),也可以是復(fù)合數(shù)據(jù)類型(數(shù)組、對(duì)象)<?php       class Catpublic $name;public $age;   &#

6、160;   /創(chuàng)建對(duì)象       $cat1=new Cat;    $cat1=new Cat();?>2.      怎樣訪問(wèn)一個(gè)成員屬性(其它成員屬性是public)基本語(yǔ)法是$對(duì)象名->屬性名; 如果一個(gè)文件,專門(mén)用于定義類,則命名規(guī)范應(yīng)當(dāng)這樣類名.class.php    分析對(duì)象在內(nèi)存中存在的形式/定義一個(gè)人類       class Person      

7、                      public $name;              public $age;              $a=new Person();       $a->name=

8、"小明"       $a->age=20;       /把a(bǔ)變量(對(duì)象),賦給$b       $b=$a;       echo $a->name."<br/>"       echo $b->name."<br/>"5 分鐘前 上傳再次說(shuō)明:$a=78;   

9、    /$b=$a;       $b=&$a;       $b=$b+8;       echo $a."|".$b;5 分鐘前 上傳      如果給一個(gè)函數(shù)傳遞一個(gè)對(duì)象,實(shí)際上是傳遞的一個(gè)地址./看下面的一段代碼:       class Person         &

10、#160;                  public $name;              public $age;              $p1=new Person();       $p1->name="韓順平&qu

11、ot;       $p1->age=33;       /函數(shù)接收對(duì)象時(shí)候,究竟是傳入值,還是地址(!)             function test1($p)              $p->name="小明"          

12、60;   test1($p1);       echo $p1->name;分析圖    如果給函數(shù)傳遞的是基本數(shù)據(jù)類型( 整數(shù)、小數(shù)、布爾、字符) ,究竟傳遞的是什么?結(jié)論   : 在默認(rèn)的情況下是傳遞的值, 如果你希望傳入地址function test(&$變量.)在php中如果,給一個(gè)函數(shù)傳遞的是數(shù)組,則默認(rèn)情況下是傳值(拷貝了新的數(shù)組),如果希望傳入地址,則應(yīng)當(dāng),&$數(shù)組名學(xué)生問(wèn)題?<?php        

13、$a1=array(1,3,900);$a2=array(56,90,100);       $arr=array($a1,$a2);       foreach($arr as $k=>$v)              echo “$k=$v”;?>      成員方法的講解函數(shù)和成員方法關(guān)系:當(dāng)我們把一個(gè)函數(shù)寫(xiě)到 某個(gè)類中,則該函數(shù)可以稱成員方法:我們有這樣一個(gè)

14、需求; 希望人可以說(shuō)話, 做算術(shù)題.,這樣就需要使用到成員方法:添加speak 成員方法,輸出 我是一個(gè)好人   添加jisuan 成員方法,可以計(jì)算從 1+.+1000的結(jié)果   修改jisuan 成員方法,該方法可以接收一個(gè)數(shù)n,計(jì)算 1+.+n 的結(jié)果   添加add 成員方法,可以計(jì)算兩個(gè)數(shù)的和成員方法的基本語(yǔ)法:訪問(wèn)修飾符號(hào)   function 函數(shù)名(參數(shù)列表)       /函數(shù)體       /return 語(yǔ)句;&l

15、t;?php       class Person                            public $name;              public $age;         

16、;     public function speak()                     echo "我是一個(gè)好人!"                            public f

17、unction count1()                                          $res=0;                     for(

18、$i=1;$i<=1000;$i+)                            $res+=$i;                                   &#

19、160;      /return 究竟到什么地方去?誰(shuí)調(diào)用,就返回給誰(shuí)                     return $res;                            /修改jisuan 成員方

20、法,該方法可以接收一個(gè)數(shù)n,計(jì)算 1+.+n 的結(jié)果              public function count2($n)                     $res=0;                    &

21、#160;for($i=0;$i<=$n;$i+)                            $res+=$i;                                 &#

22、160;        return $res;                            /添加add 成員方法,可以計(jì)算兩個(gè)數(shù)的和              public function add($num1,$num2) 

23、                                  return $num1+$num2;                            

24、0;             /如何使用函數(shù)       /1. 創(chuàng)建一個(gè)人       $p1=new Person();       /通過(guò)對(duì)象去訪問(wèn),調(diào)用成員方法.       /這里強(qiáng)調(diào),調(diào)用成員方法和調(diào)用普通函數(shù)的機(jī)制,仍然不變       $p1->speak();     

25、60; /讓這個(gè)人做算術(shù)題       $res=$p1->count1();       echo '計(jì)算結(jié)果是='.$res;       /讓這個(gè)人可以接收一個(gè)數(shù),然后計(jì)算       echo "計(jì)算結(jié)果是=".$p1->count2(100);       echo "計(jì)算結(jié)果是=".$p1->count2(100

26、);       echo "計(jì)算結(jié)果是=".$p1->count2(100);       echo "23+89=".$p1->add(23,89);?>      成員方法的細(xì)節(jié)我們?cè)趯?shí)際開(kāi)發(fā),其實(shí)通常是這樣來(lái)使用類Person.class.php< ?php        class Person      

27、0;         /成員屬性                public $name;                public $age;                /成員方法       

28、;         public function speak()                        echo "我是一個(gè)好人!"                           &#

29、160;    public function count1()                                                $res=0;         

30、0;              for($i=1;$i<=1000;$i+)                                $res+=$i;              

31、0;                                 /return 究竟到什么地方去?誰(shuí)調(diào)用,就返回給誰(shuí)                        return $res;   

32、                             /修改jisuan 成員方法,該方法可以接收一個(gè)數(shù)n,計(jì)算 1+.+n 的結(jié)果                public function count2($n)           

33、0;            $res=0;                        for($i=0;$i<=$n;$i+)                          &

34、#160;     $res+=$i;                                                return $res;         &#

35、160;                      /添加add 成員方法,可以計(jì)算兩個(gè)數(shù)的和                public function add($num1,$num2)                     

36、;                  return $num1+$num2;                                /添加一個(gè)新的方法,可以判斷三個(gè)數(shù)最大的數(shù)           

37、60;    public function findMax($arr)                        /這里仍然可以寫(xiě)算法                        /從$arr數(shù)組中,找到最大的數(shù).    

38、                    /1.假設(shè)數(shù)組的第一個(gè)數(shù)就是最大的數(shù)                        $maxVal=$arr0;                  &

39、#160;     /2.最大數(shù)的下標(biāo)是                        $maxIndex=0;                        /開(kāi)始循環(huán)的比較        

40、0;               for($i=1;$i<count($arr);$i+)                                /這個(gè)條件說(shuō)明,maxVal不是最大         

41、60;                      if($maxVal<$arr$i)                                        /調(diào)整 

42、                                       $maxVal=$arr$i;                           

43、0;            $maxIndex=$i;                                                      

44、;                          return $maxVal;                               ?>Exercise01.php< ?php   &

45、#160;    /引入類文件        require_once Person.class.php;   /創(chuàng)建對(duì)象        $p1=new Person();        /調(diào)用$p1的各個(gè)方法        $p1->speack();      

46、;  $p1->count1();.?>案例:編寫(xiě)一個(gè)函數(shù)(以面向?qū)ο蟮姆绞介_(kāi)發(fā)),從網(wǎng)頁(yè)輸入一個(gè)整數(shù)打印出對(duì)應(yīng)的金子塔:當(dāng)我們學(xué)習(xí)完成員方法后,我們的類定義就完善一步了:23 秒前 上傳  1.設(shè)計(jì)計(jì)算機(jī)類,要求如下:  屬性:品牌,顏色,cpu型號(hào),內(nèi)存容量,硬盤(pán)大小,價(jià)格,工作狀態(tài)  方法: 打開(kāi),關(guān)閉,休眠 (表示)  創(chuàng)建一個(gè)計(jì)算機(jī)對(duì)象,調(diào)用打開(kāi),關(guān)閉方法.       php面向?qū)ο缶幊?#160;   

47、;   構(gòu)造方法class Person       public $name;       public $age;$p1=new Person();/再給屬性賦值$p1->name=”宋江”;$p1->age=33;/需求在創(chuàng)建一個(gè)人對(duì)象時(shí)候,我就初始化 name 和 age;->構(gòu)造方法我們快速入門(mén):class Person       public $name;       public $age;&

48、#160;      public function _construct()       echo “我是構(gòu)造方法”;       /業(yè)務(wù)代碼要放在成員方法 public function findPerson()$p1=new Person(); 構(gòu)造方法 沒(méi)有返回值, 它是自動(dòng)被調(diào)用2. 在php 5 中一個(gè)類可以同時(shí)有 兩種形式的構(gòu)造方法 _construct() 和 類名() , 當(dāng)兩個(gè)同時(shí)存在的時(shí)候,優(yōu)先調(diào)用_construct(), 請(qǐng)大家以后使用_construct()

49、      this的理解class Person  public $name;  public $age;  /這個(gè)就是構(gòu)造方法,php5獨(dú)有  public function _construct($iname,$iage)   /$name認(rèn)為$name是一個(gè)新的變量   /$name=$iname;   /$age=$iage;   $this->name=$iname; 

50、  $this->age=$iage;   echo "我是構(gòu)造方法"    $p1=new Person("張清",90);echo "hello-".$p1->name;$p2=new Person("宋江",33);echo "aa-".$p2->name;$this 理解圖:2 分鐘前 上傳 1. $this 本質(zhì)可以理解就是這個(gè)對(duì)象的地址   2. 哪個(gè)對(duì)象使用到$th

51、is, 就是哪個(gè)對(duì)象地址   3. $this不能在類外部使用.      構(gòu)造方法的注意事項(xiàng)(1)一旦自定義了一個(gè)構(gòu)造函數(shù),默認(rèn)的構(gòu)造函數(shù)就被覆蓋了,這時(shí)在創(chuàng)建對(duì)象的時(shí)候就要使用自定義的構(gòu)造函數(shù).(2)一個(gè)類只能有一個(gè)構(gòu)造函數(shù).(不能重載)構(gòu)造方法的8點(diǎn)說(shuō)明:構(gòu)造方法名和類名相同(php4版),php5版的構(gòu)造方法名可以和類名相同,也可以是_construct() 構(gòu)造方法沒(méi)有返回值主要作用是完成對(duì)新對(duì)象的初始化,并不是創(chuàng)建對(duì)象本身。在創(chuàng)建新對(duì)象后,系統(tǒng)自動(dòng)的調(diào)用該類的構(gòu)造方法   一個(gè)類有且只有一個(gè)構(gòu)造方法,在

52、php5后雖然_construct()  和 類名() 可以共存,但是實(shí)際上也只能使用一個(gè)。如果沒(méi)有給類自定義構(gòu)造方法,則該類使用系統(tǒng)默認(rèn)的構(gòu)造方法。class Cat       funciton _construt($name)       echo “ok”;      $cat1=new Cat(); 如果給類自定義了構(gòu)造方法,則該類的默認(rèn)構(gòu)造方法被覆蓋。構(gòu)造方法的默認(rèn)訪問(wèn)修飾符是public      析構(gòu)

53、方法析構(gòu)方法的作用主要用于,釋放資源(比如釋放數(shù)據(jù)庫(kù)的鏈接,圖片資源.銷(xiāo)毀某個(gè)對(duì)象.)快速入門(mén)<?php              class Person                            public $name;         

54、;     public $age;              public $conn;                            /構(gòu)造方法            

55、  public function _construct($name,$age)                     $this->name=$name;                     $this->age=$age;      &#

56、160;              /打開(kāi)一個(gè)$conn鏈接數(shù)據(jù)庫(kù)的資源                            /寫(xiě)一個(gè)析構(gòu)方法 _ 是兩個(gè)下劃線             function _destruct()&

57、#160;                    echo $this->name."銷(xiāo)毀資源 關(guān)閉數(shù)據(jù)庫(kù).<br/>"                            $p1=new Person("賈寶玉",16);

58、60;      $p2=new Person("林黛玉",14);?>運(yùn)行代碼我們得出:1.      析構(gòu)方法會(huì)自動(dòng)調(diào)用2.      析構(gòu)方法主要用于銷(xiāo)毀資源3.      析構(gòu)方法調(diào)用順序是,先創(chuàng)建的對(duì)象后被銷(xiāo)毀4.      析構(gòu)方法什么時(shí)候被調(diào)用(1)    當(dāng)程序(進(jìn)程結(jié)束)退出時(shí)(2)    當(dāng)一個(gè)對(duì)象稱為垃圾對(duì)象的時(shí)候,該對(duì)

59、象的析構(gòu)方法也會(huì)被調(diào)用,(3)    所謂垃圾對(duì)象,就是指,沒(méi)有任何變量再引用它.(4)    一旦一個(gè)對(duì)象成為垃圾對(duì)象,析構(gòu)方法就會(huì)立即調(diào)用示意圖:2 分鐘前 上傳 小結(jié):php5加入的的析構(gòu)方法function _destruct() 析構(gòu)方法沒(méi)有返回值主要作用是釋放資源的操作,并不是銷(xiāo)毀對(duì)象本身。在銷(xiāo)毀對(duì)象前,系統(tǒng)自動(dòng)的調(diào)用該類的析構(gòu)方法   一個(gè)類最多只有一個(gè)析構(gòu)方法。更新時(shí)間:2013年01月03日17時(shí)03分 來(lái)源:      靜態(tài)變量提出一個(gè)問(wèn)題:說(shuō),有一群小孩在玩堆雪人,不時(shí)有新

60、的小孩加入,請(qǐng)問(wèn)如何知道現(xiàn)在共有多少人在玩?請(qǐng)使用面向?qū)ο蟮乃枷?,編?xiě)程序解決。思路:1.      使用全局變量* 什么是全局變量, 在程序中,都可以使用的變量稱為全局變量.當(dāng)我們了解全局變量后,我們來(lái)看看如何解決問(wèn)題?<?php       /定義,完游戲的全局變量       global $global_nums;       /賦值       $global_nums=0;

61、60;      class Child                            public $name;              function _construct($name)        &

62、#160;                                 $this->name=$name;                            pub

63、lic function join_game()                     /聲明一下使用全局變量                     global $global_nums;              

64、0;      $global_nums+=1;                          echo $this->name."加入堆雪人游戲"                        &#

65、160;                         /創(chuàng)建三個(gè)小孩       $child1=new Child("李逵");       $child1->join_game();       $child2=new Child("張飛");  

66、0;    $child2->join_game();       $child3=new Child("唐僧");       $child3->join_game();       /看看有多少人玩游戲       echo "<br/> 有".$global_nums;?>2.      使用靜態(tài)變量靜

67、態(tài)的變量的基本用法1.      在類中定義靜態(tài)變量 訪問(wèn)修飾符 static $變量名;2.      如何訪問(wèn)靜態(tài)變量如果在類中訪問(wèn)  有兩種方法 self:$靜態(tài)變量名 , 類名:$靜態(tài)變量名如果在類外訪問(wèn):  有一種方法 類名:$靜態(tài)變量名3. 靜態(tài)變量存在方式解法:class Child                     

68、          public $name;                /這里定義并初始化一個(gè)靜態(tài)變量 $nums                public static $nums=0;                functi

69、on _construct($name)                                                $this->name=$name;            

70、;                    public function join_game()                                            

71、60;   /self:$nums 使用靜態(tài)變量                        self:$nums+=1;                        echo $this->name."加入堆雪人游戲" 

72、;                                                       /創(chuàng)建三個(gè)小孩        $child1=new Ch

73、ild("李逵");        $child1->join_game();        $child2=new Child("張飛");        $child2->join_game();        $child3=new Child("唐僧");   

74、;     $child3->join_game();        /看看有多少人玩游戲        echo "<br/> 有這".Child:$nums;u        靜態(tài)方法需求: 當(dāng)我們操作靜態(tài)變量的時(shí)候,我們可以考慮使用靜態(tài)方法,比如統(tǒng)計(jì)所有學(xué)生交的學(xué)費(fèi)在我們編程中,我們往往使用靜態(tài)方法去操作靜態(tài)變量.靜態(tài)方法的特點(diǎn)1.&

75、#160;       靜態(tài)方法去操作靜態(tài)變量2.        靜態(tài)方法不能操作非靜態(tài)變量.這里請(qǐng)注意 : 普通的成員方法,既可以操作非靜態(tài)變量,也可以操作靜態(tài)變量u        php面向?qū)ο缶幊痰娜筇卣?#160;       封裝        繼承      

76、60; 多態(tài)抽象1 分鐘前 上傳class Account                 public $blance;        public $no;        public function qun()public function cun()u        封

77、裝那么在php中如何實(shí)現(xiàn)這種類似的控制呢?請(qǐng)大家看一個(gè)小程序.(visit1.php),不能隨便查看人的年齡,工資等隱私.class Person        public $name;        private  $age;        private  $salary;        function _c

78、onstruc($name,$age,$salary)        $this->name=$name;        $this->age=$age;        $this->salary=$salaryphp提供了三種訪問(wèn)控制符號(hào).有三種1.        public  表示全局,可以在本類,類外部,子類 中

79、使用2.        protected 表示受到保護(hù), 可以在本類, 子類中使用3.        private 表示私有, 只能在本類使用這三個(gè)控制修飾符號(hào)可以對(duì) 屬性 和 方法修飾1.        如果一個(gè)方法沒(méi)有訪問(wèn)修飾符,則默認(rèn)是public2.        屬性 必須指定訪問(wèn)修飾符 方法之間可以互相調(diào)用. 但是需要使用 $this引用fu

80、nction test11()                        $this->test12();                                protected function test12()

81、60;                       echo "test12 hello"                舉例說(shuō)明:class Person                public $name;  &

82、#160;             protected  $age;                private  $salary;                function _construct($name,$age,$salary)    

83、;                    $this->name=$name;                        $this->age=$age;                

84、;        $this->salary=$salary;                                /成員方法                function showInfo()    

85、                    /這里說(shuō)明在本類中可以使用 public protected 和private 修飾的變量.                        echo $this->name."|".$this->age."|".$th

86、is->salary;                                /創(chuàng)建一個(gè)人        $p1=new Person("孫悟空",30,1000);        echo $p1->name;

87、0;       /可以        echo $p1->age;/報(bào)錯(cuò)        echo $p1->salary;/報(bào)錯(cuò).?我們現(xiàn)在就想去訪問(wèn)protected 變量或者 private 變量, 通常的做法是提供 public 函數(shù)去訪問(wèn) 這些變量. 形式是        public function setXxx($val)public fu

88、nction getXxx()public function showInfo()public protected private 可以修飾屬性和方法(1)        查看 薪水 (private )/獲取這個(gè)人的薪水                public function getSalary($user,$pass)            

89、60;           if($user="shunping" && $pass="123")                                return $this->salary;     &#

90、160;                  else                                return "sorry,你無(wú)法看"         

91、0;                      (2)        修改人的年齡提供了兩個(gè)函數(shù)./修改年齡,對(duì)輸入的值,進(jìn)行校驗(yàn).                public function setAge($age)        &#

92、160;                                       if($age>1 && $age<120)                     

93、   $this->age=$age;                        else                                 echo "年齡范圍不對(duì)

94、"                                                        /查看年齡            &

95、#160;   public function getAge()                        return $this->age;                還有一種形式, 通過(guò) 一對(duì) _set  和 _get方法來(lái)操作我們的變量,不推薦.class A   &

96、#160;                    private $n1;                private $n2;                private $n3;         

97、60;      /使用_set 方法來(lái)管理所有的屬性                public function _set($pro_name,$pro_val)                        $this->pro_name=$pro_val;    

98、                           /使用_get 可以獲取所有的屬性值                public function  _get($pro_name)              

99、60;                        if(isset($pro_name)                                return $this->pro_name; 

100、                       else                                return null;          

101、;                                              $a1=new A();        $a1->n1="hello"    

102、   echo $a1->n1;        $a1->n2=890;        echo "|".$a1->n2;可以直接寫(xiě)一個(gè)方法了操作變量class Peron                protected n1;       

103、; private $n2;        function showInfo($n1)       $this->n1=$n1;        echo $this->n1.”|”$this->n2;u        為什么需要繼承/應(yīng)用場(chǎng)景 開(kāi)發(fā)一套學(xué)生管理系統(tǒng)(Pupil, Graduate , .)     &#

104、160;  /小學(xué)生類        class Pupil                               public $name;                protected $age; 

105、;               protected $grade;                               public function showInfo()               

106、                                 echo $this->name."|".$this->age;                         

107、0;      public function tesing()                        echo " 小學(xué)生考試."                             &

108、#160;  /研究生類        class Graduate                               public $name;                protected $age;&

109、#160;               protected $grade;                               public function showInfo()              &#

110、160;                                 echo $this->name."|".$this->age;                         

111、       public function tesing()                        echo "研究生考試."                            

112、0;          從上面的代碼我們看出,代碼的復(fù)用性不高,同時(shí)也會(huì)讓管理代碼成本增高.è        解決之道(繼承);現(xiàn)在我們使用繼承對(duì)上面的代碼,進(jìn)行改寫(xiě).代碼:        /應(yīng)用場(chǎng)景 開(kāi)發(fā)一套學(xué)生管理系統(tǒng)(Pupil, Graduate , .)        /父類      &

113、#160; class Stu                public $name;                protected $age;                protected $grade;        

114、;                public function showInfo()                                                

115、;echo $this->name;                                /子類        class Pupil extends Stu                 &

116、#160;             public function testing()                        echo " 小學(xué)生考試."                     

117、60;          class Graduate extends Stu                               public function testing()               

118、         echo "研究生考試."                                /創(chuàng)建學(xué)生        $stu1=new Pupil();       

119、60;$stu1->name="小明"        $stu1->testing();        $stu1->showInfo();        /創(chuàng)建一個(gè)研究生        $stu2=new Graduate();        $stu2-&g

120、t;name="老明"        $stu2->testing();        $stu2->showInfo(); 從上面的代碼我們可以看出:所謂繼承就是 一個(gè)子類 通過(guò) extends  父類  把父類的 (public / protected)屬性和(public / protected)方法繼承下來(lái).繼承的基本語(yǔ)法是:class 類名 extends 父類名   

121、60;    /在寫(xiě)自己需要的屬性和方法.討論繼承細(xì)節(jié):討論繼承細(xì)節(jié):1.      父類的 public  、protected 的屬性和方法被繼承. private 的屬性和方法沒(méi)有被繼承.2.      一個(gè)類只能繼承一個(gè)父類,(直接繼承).如果你希望繼承多個(gè)類的屬性和方法,則使用多層繼承class A        public $n1=90;class B extends A  

122、0;     public $n2="hello"class C extends B        $c=new C();echo $c->n1;3.      當(dāng)創(chuàng)建子類對(duì)象的時(shí)候,默認(rèn)情況下,不會(huì)自動(dòng)調(diào)用父類的構(gòu)造方法.class A              public $n1=90;    

123、         /構(gòu)造方法              public function _construct()                     echo "A _construct"         

124、                   class B extends A                            function _construct()            

125、60;        echo "B _construct"                            /創(chuàng)建B對(duì)象實(shí)例       $b=new B();4.      如果我們希望去調(diào)用父類的 構(gòu)造方法,或者其它的方法(public / 

126、60;protected) ,可以這樣處理 (了解)4.1    類名:方法名() 4.2 parent:方法名()舉例 class A        public $n1=90;        /構(gòu)造方法        public function _construct()              &#

127、160;               echo "A _construct"        class B extends A               function _construct()              &#

128、160;echo "B _construct"               /顯式的調(diào)用父類的方法               /A:_construct();               parent:_construct();        /創(chuàng)建B對(duì)象實(shí)例$b=new B();5. 當(dāng)一個(gè)子類的方法和父類的方法完全一樣(public protected

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論