日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

js面向对象与PHP面向对象总结

發(fā)布時(shí)間:2023/12/9 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js面向对象与PHP面向对象总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

js面向?qū)ο?/span>:

1.什么是對(duì)象?

  對(duì)象:任何實(shí)體都是對(duì)象,擁有屬性和方法兩大特征

  屬性:描述事物的特點(diǎn);

  方法:實(shí)物擁有的行為;

2.在JS里

  Person.name="zhang"

  Person.fn=function(){}

3.js中如何去生成對(duì)象?

  (1)單例模式/字面量定義 var obj={name:"zhang"}

  (2)var obj=new Object() 內(nèi)置類

      Obj.name="zhang"

      js內(nèi)置的類 string array object number boolean ?date function

  (3)工廠模式

      function create(){

        var obj={}

        Obj.name=

        return obj;

      }  

  (4)構(gòu)造函數(shù)

      function Person(){

        this.name="li"

      }

      var zhang=new Person()

4.this的問題

    this是關(guān)鍵字,它是一個(gè)對(duì)象;

    函數(shù)外 this指向window;

    函數(shù)內(nèi)看帶不帶. 帶.就是.前面的對(duì)象,不帶.就是window

5.原型prototype

  每個(gè)函數(shù) 類天生自帶一個(gè)prototype的屬性,這個(gè)屬性是個(gè)對(duì)象,它里面天生自帶一個(gè)constructor的屬性,屬性值是當(dāng)前函數(shù)/類本身;

  每個(gè)實(shí)例對(duì)象 天生自帶一個(gè)__proto__的屬性,這個(gè)屬性是對(duì)象,它指向當(dāng)前實(shí)例對(duì)象的類的原型

6.類的繼承

  對(duì)象復(fù)制

    (1)通過for in 將父類的所有屬性變成子類的私有屬性

    (2)Object.create() 將父類的屬性復(fù)制成子類公有的屬性

  <1>原型繼承

    將父類的實(shí)例賦值給子類的原型,父類實(shí)例的所有屬性成了子類的公有屬性

  <2>call繼承 將父類私有的繼承為子類私有的

    改變this指向的方法:

    a.call()?

      fn.call(div,)將fn中的this換成div然后再把fn調(diào)用;

    b.apply()

    c.bind()

    d.提前聲明;

   <3>冒充對(duì)象

      冒充對(duì)象繼承利用for in ?將父類的所有屬性繼承為子類私有的

   <4>混合繼承 call繼承和原型繼承結(jié)合

     私有的繼承為私有的,私有的和公有的再次繼承為公有的

   <5>組合繼承(寄生式繼承) ?call繼承和克隆的結(jié)合

   ? <6>中間類繼承 ?

      偽數(shù)組

   <7>拷貝繼承

      淺拷貝

      深拷貝

        

        

PHP面向?qū)ο?#xff1a;

  1.類的創(chuàng)建 class創(chuàng)建類

   

  2.對(duì)象的創(chuàng)建 ?使用new關(guān)鍵字;

   

  3.成員的添加;

   添加成員需要三個(gè)修飾符

    public ?公開的,定義公共的屬性和方法,類的外部,類的內(nèi)部,子類都可以使用;

    protected ?受保護(hù)的,定義受保護(hù)的屬性和方法 只能在類的內(nèi)部和子類里使用

    private ?私有的,定義私有的屬性和方法,只能在自身的類里使用

    方法成員如果前面不加修飾符,默認(rèn)是public;

  4.成員調(diào)用使用->符號(hào);

    

    使用成員屬性和方法的時(shí)候,屬性和方法前面不帶$符

    

  5.特殊對(duì)象$this指向?qū)嵗膶?duì)象,如果類的方法里想使用類的其他屬性和方法得需要使用$this對(duì)象

    

  6.構(gòu)造方法 function__construct() ?構(gòu)造函數(shù)在new實(shí)例化的時(shí)候系統(tǒng)會(huì)自動(dòng)調(diào)用

    

  7.析構(gòu)方法

   我們每次new實(shí)例化,系統(tǒng)就會(huì)給這個(gè)對(duì)象分配一個(gè)內(nèi)存空間,如果不銷毀,系統(tǒng)壓力會(huì)很大,系統(tǒng)有一個(gè)析構(gòu)方法 __destruct對(duì)象實(shí)例化之后系統(tǒng)會(huì)自動(dòng)調(diào)用。內(nèi)存銷毀的原則是先進(jìn)后銷。

?   

  8.成員賦值

   

  9.php中的繼承使用關(guān)鍵字extends

   

  10.類中常量 使用const關(guān)鍵字定義常量,常量在定義和使用的時(shí)候不能帶$符。

   使用的時(shí)候不能用$this ?使用范圍修飾符 :: 前面還是這個(gè)類名或self

   

   如果子類想訪問父類中的常量 使用parent::常量名

   

  11.靜態(tài)變量 在變量前加上關(guān)鍵字 static 靜態(tài)屬性 不能使用->訪問了,使用類名::$變量名:

   

  12.重載 覆蓋

   子類繼承父類的方法時(shí),如果子類有和父類同名的方法,從父類那繼承的方法就會(huì)被覆蓋掉,這個(gè)就叫重載;

   如果父類的方法前面加上final 則子類無法重載父類的方法,就會(huì)報(bào)錯(cuò)。

   

  13.調(diào)用父類的構(gòu)造方法

   php不會(huì)在子類的構(gòu)造方法中自動(dòng)的調(diào)用父類的構(gòu)造方法,要執(zhí)行父類的構(gòu)造方法,需要在子類的構(gòu)造方法在調(diào)用parent::__construct().

?

?

面向?qū)ο笕筇卣?/span>

  封裝:對(duì)外只告訴你如何操作,內(nèi)部結(jié)構(gòu)不需要你知道。

     對(duì)外只提供可操作的接口(方法),對(duì)內(nèi)的數(shù)據(jù)操作不可見

    

  繼承:子類可以繼承父類的屬性和方法,但是有限繼承,public protected private 修飾的屬性可以繼承protected public 修飾的方法 子類可以繼承,父類的常量也可以繼承。

    

  多態(tài):php沒有多態(tài),因?yàn)閜hp是弱類型語(yǔ)言,不會(huì)對(duì)變量提前進(jìn)行類型聲明,但是有重載;

  重載:父類和子類 方法相同 子類會(huì)覆蓋父類的方法。js也有重載。

?

?

?

   

?

?

   

?

轉(zhuǎn)載于:https://www.cnblogs.com/yuanjingjing/p/10679389.html

總結(jié)

以上是生活随笔為你收集整理的js面向对象与PHP面向对象总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。