溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

面向?qū)ο蠡A(chǔ) 之-定義類,聲明,屬性,成員方法,傳值,構(gòu)造與析構(gòu)方法

發(fā)布時(shí)間:2020-07-21 16:36:12 來(lái)源:網(wǎng)絡(luò) 閱讀:314 作者:Erik8928 欄目:web開(kāi)發(fā)

   面向?qū)ο笈c面向過(guò)程的定義: 

  1. 面向過(guò)程:面向過(guò)程是一種一過(guò)程為中心的編程思想。在面向過(guò)程中也可稱為“面向記錄”編程思想  通俗講:在完成一件事情,完成一個(gè)功能由開(kāi)始到結(jié)束,通過(guò)完成一個(gè)一個(gè)步驟再進(jìn)行下一步驟,知道事件的完成,叫面向過(guò)程。

       面向?qū)ο螅?nbsp;面向?qū)ο笫且环N思想是一種以實(shí)物為中心的編程思想

  2,面向?qū)ο笾饕蓛纱髩K組成  : 類,對(duì)象

             類: 用來(lái) 定義好某些對(duì)象的模板  ,里面有對(duì)象的成員屬性(屬性由變量,或者常量組成),成員方法(普通成員方法,構(gòu)造方法,析構(gòu)方法)。

            對(duì)象: 對(duì)象是根據(jù)該模塊所創(chuàng)造出來(lái)的具體物體。一個(gè)對(duì)象由那些屬性,可以做那些事情 都由類的屬性,方法決定。

3,面向?qū)ο蟮恼Z(yǔ)法: 

         1,定義類: (類含屬性(變量屬性,成員屬性,靜態(tài)屬性)方法(成員方法,靜態(tài)方法,構(gòu)造方法,析構(gòu)方法))

            

       class Person 
       {
           $name="張三"   //變量屬性
           const age =24;//常量屬性
           static $sex ="女";
        }
        function __construct ($a,$b)
        {
        }
        function Study()
        {
        }
        function __destruct()
        {
        }

         2,創(chuàng)建對(duì)象: 

     $對(duì)象名1 ->nes Person(); //創(chuàng)建對(duì)象
     $cname = Person;
     $對(duì)象2->cname();//創(chuàng)建可變類對(duì)象
     $對(duì)象名3 =new self  //self 指代表類本身,只能在類的內(nèi)部方法中使用

         3,對(duì)象使用: (對(duì)象的使用由類決定有什么使用什么) 主要有以下三種方式

                 3.1   使用類屬性:  $Person1 -> name="李四”; 此處相當(dāng)給屬性賦值

                 3.2   使用類方法: $Person1->study();

                 3.3   獲取屬性值    $str = $Person1->name // 將類的屬性值賦予$str

         4,對(duì)象的傳值:

                    主要有兩種傳遞方式:   、

                         值傳遞 :傳遞完之后,有了2份同樣的數(shù)據(jù),但兩個(gè)變量“相互獨(dú)立”沒(méi)有關(guān)系

                      引用傳遞:傳遞的時(shí)候,拷貝的是引用關(guān)系。需要使用“&”才能實(shí)現(xiàn)引用傳遞,

                  傳遞完之后,數(shù)據(jù)仍然只有一份,但是兩個(gè)變量共同指向該數(shù)據(jù)

  

                   值傳遞:

          class Person {
           var $v1 =10;
           }    
           $p1 = new Person();
           $p2 =$p1;  
           $p1->v1=20;
                     echo  $p1->v1;//輸出20
                     echo  $p2->v1;//輸出20
                     此處是將$p1的值傳遞給$p2,  因此在$p1的值改變,$p2的值也跟著改變

                引用傳遞:  $p3 = new Person();

                                   $p4 =&$p3;

                                   $p3->v1=100;

                                   echo  $p3; //輸出100

                                   echo $p4; //輸出100

                

               5,構(gòu)造方法: 

                           

                              構(gòu)造方式是類中一個(gè)特殊方法,其作用是在實(shí)例化一個(gè)對(duì)象的同時(shí),給該對(duì)象的

                                 屬性賦值,使對(duì)象創(chuàng)建完成后就具有本身的特有的數(shù)據(jù)(屬性值)                                                                      

                              6.1  構(gòu)造方法的名字是固定為: __construct();

                              6.2,該方法必須是普通方法,(不能靜態(tài)方法)

                              6.3 通常該方法中使用$this這個(gè)關(guān)鍵字來(lái)對(duì)屬性值進(jìn)行賦值

                              6.4 當(dāng)new 新對(duì)象的時(shí)候,就已經(jīng)調(diào)用該構(gòu)造方法

                              6.5 定義了構(gòu)造方法,實(shí)例化該類時(shí)就調(diào)用該方法,且實(shí)例化的參數(shù)跟構(gòu)造方法的

            

                                        class Person
                                          {
	                                        public $name = "abc";
	                                        public $age = "18";
	
	                                  function __construct($n,$a)
	                                  {
                                                $this->name= $n;	
                                                $this->age= $a;	
                                       	}
	                                          function intro($a,$b)
	                                {
                                                echo "大家好我叫 .$this->name .年齡.$this->age";
	                                }
                                        }
                                             $Person1=new Person('cba',20); //可以看作調(diào)用構(gòu)造方法
                                             $Person1->intro();  //輸出大家好我叫 cba年齡20

             6,析構(gòu)方法:function __destruct(){.....}

                構(gòu)造方法是“創(chuàng)建”對(duì)象的時(shí)候會(huì)自動(dòng)調(diào)用。

                析構(gòu)方法是“銷毀”對(duì)象的時(shí)候會(huì)自動(dòng)調(diào)用。

                      說(shuō)明:

                 1,析構(gòu)方法通常不太需要去定義。

                 2,析構(gòu)方法不能調(diào)用。

                 3,析構(gòu)方法不能有形參。


  

向AI問(wèn)一下細(xì)節(jié)
AI