小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看?/span>

 lcgs006 2018-01-10

面向?qū)ο缶幊趟枷牒?jiǎn)介

什么是編程思想?

所謂的編程思想,就是人們用計(jì)算機(jī)來(lái)解決實(shí)際問(wèn)題的時(shí)候的一種思維方式,或者說(shuō)是一種基本的策略;

常見(jiàn)的編程思想有面向過(guò)程和面向?qū)ο?,很多語(yǔ)言的語(yǔ)法各不相同,但是,基本的編程思想?yún)s是差不多的!

PHP同時(shí)支持面向?qū)ο蠛兔嫦蜻^(guò)程兩種編程思想的語(yǔ)言!

面向過(guò)程的編程思想

傳統(tǒng)的面向過(guò)程的編程思想總結(jié)起來(lái)就八個(gè)字——自頂向下,初步細(xì)化! 基本策略如下:

ü將要實(shí)現(xiàn)的功能描述為一個(gè)從開(kāi)始到結(jié)束的按部就班的連續(xù)的“步驟”(面向過(guò)程)

ü依次逐步完成這些步驟,如果某一個(gè)步驟的難度比較大,又將該步驟再次細(xì)化為若干個(gè)子步驟,依次類(lèi)推,一直到結(jié)束得到想要的結(jié)果!

ü程序的主體是函數(shù),一個(gè)函數(shù)就是一個(gè)封裝起來(lái)的模塊,每個(gè)模塊都可以實(shí)現(xiàn)特定的功能,各個(gè)子步驟往往就是通過(guò)各個(gè)函數(shù)來(lái)完成的,從而實(shí)現(xiàn)代碼的重用和模塊化編程!

案例:大家去學(xué)?!皥?bào)名上學(xué)”這件事,可以分成哪些步驟?

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

所謂的面向過(guò)程,就是將上面分析好了的步驟,依次執(zhí)行就行了!

面向?qū)ο蟮木幊趟枷?/h2>

所謂的面向?qū)ο?,就是在編程的時(shí)候盡可能的去模擬現(xiàn)實(shí)世界!

現(xiàn)實(shí)世界中,任何一個(gè)操作(動(dòng)作)或者是任何一個(gè)業(yè)務(wù)邏輯的實(shí)現(xiàn)都需要一個(gè)實(shí)體去完成,實(shí)體就是操作(動(dòng)作)的支配者,沒(méi)有實(shí)體,就沒(méi)有動(dòng)作發(fā)生!

思考:上述報(bào)名的每一個(gè)步驟都有哪些動(dòng)詞?

提出提供分配增加

有動(dòng)詞就一定有實(shí)現(xiàn)這個(gè)動(dòng)詞的實(shí)體!

所謂的模擬現(xiàn)實(shí)世界,就是使計(jì)算機(jī)的編程語(yǔ)言與解決相關(guān)的業(yè)務(wù)邏輯的時(shí)候,與真實(shí)的現(xiàn)實(shí)世界中的業(yè)務(wù)邏輯的發(fā)生保持一致!需要使某個(gè)動(dòng)作都是依賴(lài)于一個(gè)實(shí)體的“動(dòng)作/操作/行動(dòng)”,可以看做是一個(gè)一個(gè)的實(shí)體在發(fā)揮其各自的“能力”并在內(nèi)部進(jìn)行協(xié)調(diào)有序的調(diào)用過(guò)程!

如果采用面向?qū)ο蟮乃枷?,解決上面的報(bào)名的問(wèn)題應(yīng)該如下:

1,分析哪些動(dòng)作是由哪些實(shí)體發(fā)出的!

提出提供分配增加

學(xué)生提出報(bào)名->學(xué)生繳費(fèi)->學(xué)校收費(fèi)->老師分配教室->班級(jí)增加學(xué)生信息

于是,在整個(gè)的報(bào)名過(guò)程中,一共出現(xiàn)了多少個(gè)實(shí)體?

四個(gè):學(xué)生、x學(xué)校、老師、班級(jí)

在現(xiàn)實(shí)中的一個(gè)具體的實(shí)體,就是計(jì)算機(jī)編程中的一個(gè)具體的對(duì)象!

2,定義這些實(shí)體,為其增加相應(yīng)的屬性和功能(功能就是能完成的動(dòng)作,在面向?qū)ο蟮膶?zhuān)業(yè)術(shù)語(yǔ)中叫作方法,其實(shí)也就是函數(shù))

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

1,讓實(shí)體,去執(zhí)行相應(yīng)的功能或動(dòng)作!

學(xué)生提出報(bào)名

學(xué)生繳費(fèi)

機(jī)構(gòu)收費(fèi)

教師分配教室

班級(jí)增加學(xué)生信息

班級(jí)管理學(xué)生信息

所以說(shuō),面向過(guò)程主要是針對(duì)功能,但是面向?qū)ο笾饕轻槍?duì)能夠?qū)崿F(xiàn)這些功能的主體(實(shí)體)

從面向過(guò)程到面向?qū)ο缶幊趟枷氲霓D(zhuǎn)變

以前寫(xiě)代碼,首先想到的是需要實(shí)現(xiàn)什么功能——可以調(diào)用系統(tǒng)函數(shù),也可以自己定義函數(shù),或者按部就班的執(zhí)行!

以后寫(xiě)代碼,首先想到的是應(yīng)該有什么樣的實(shí)體(主體)去完成什么樣的功能,再把這些實(shí)體的屬性和功能進(jìn)行封裝,最后才去實(shí)現(xiàn)這些實(shí)體的功能!

面向?qū)ο蟛皇且环N技術(shù),而是一種思想,是一個(gè)解決問(wèn)題的最根本的思維方式!

所以,面向?qū)ο蟮暮诵乃枷胧牵翰粌H僅是簡(jiǎn)單的將某些功能進(jìn)行封裝,而是對(duì)調(diào)用該功能的主體進(jìn)行封裝,如果一個(gè)實(shí)體擁有多個(gè)功能的話(huà),在使用的過(guò)程中,先得到相關(guān)的對(duì)象,再使用對(duì)象去調(diào)用其相關(guān)的功能!

面向?qū)ο笈c面向過(guò)程的對(duì)比

1,都可以實(shí)現(xiàn)代碼重用,以實(shí)現(xiàn)模塊化編程,但是面向?qū)ο蟮哪K化更深,數(shù)據(jù)更封閉,也更加安全!

2,面向?qū)ο蟮乃季S方式更加貼近現(xiàn)實(shí)生活,所以也更容易解決大型的復(fù)雜的業(yè)務(wù)邏輯!

3,從前期開(kāi)發(fā)的角度來(lái)看,面向?qū)ο蟊让嫦蜻^(guò)程要復(fù)雜的多,但是從維護(hù)和升級(jí)的角度來(lái)看,面向?qū)ο筮h(yuǎn)比面向過(guò)程簡(jiǎn)單!

面向?qū)ο蠡靖拍?/h2>

面向?qū)ο蟮碾A段概念

OOA:面向?qū)ο蠓治?、OOD:面向?qū)ο笤O(shè)計(jì)、OOP:面向?qū)ο缶幊?/p>

對(duì)象的概念,什么叫做對(duì)象,object,現(xiàn)實(shí)業(yè)務(wù)邏輯中的一個(gè)動(dòng)作實(shí)體,就對(duì)應(yīng)著OOP編程中的一個(gè)對(duì)象!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

所以:

對(duì)象是采用屬性(property)來(lái)保存數(shù)據(jù)!

對(duì)象是采用方法(method)來(lái)管理數(shù)據(jù)!

對(duì)象如何產(chǎn)生呢?又如何規(guī)程對(duì)象的屬性和方法呢?

在PHP中,對(duì)象是由類(lèi)實(shí)例化而來(lái)的,也就是說(shuō),在PHP中,要想產(chǎn)生一個(gè)對(duì)象,必須先有一個(gè)類(lèi)!

什么是類(lèi)?

類(lèi)其實(shí)就是得到對(duì)象的一種方法而已!只不過(guò)在大多數(shù)的面向?qū)ο缶幊陶Z(yǔ)言中,都是通過(guò)類(lèi)來(lái)產(chǎn)生對(duì)象,但是,也有的面向?qū)ο蟮恼Z(yǔ)言,產(chǎn)生對(duì)象的時(shí)候是不需要類(lèi)的!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

為什么要引入類(lèi)的概念?

其實(shí)類(lèi)本來(lái)也是對(duì)現(xiàn)實(shí)世界的一種模擬,在現(xiàn)實(shí)世界中,任何一個(gè)實(shí)體都有一個(gè)類(lèi)別!

類(lèi)就是具有相同或相似的特征特性的該類(lèi)事物的一個(gè)通用的名稱(chēng)!

比如:我們都屬于人類(lèi),人類(lèi)又都屬于靈長(zhǎng)動(dòng)物類(lèi),靈長(zhǎng)動(dòng)物類(lèi)又都屬于動(dòng)物類(lèi),動(dòng)物類(lèi)又都屬于生物類(lèi)!

所以,在php中,一個(gè)對(duì)象是指現(xiàn)實(shí)中的一個(gè)具體的實(shí)體,而既然現(xiàn)實(shí)中的每一個(gè)實(shí)體都有一個(gè)類(lèi)別,所以O(shè)OP中的對(duì)象也應(yīng)該都有一個(gè)類(lèi)!

一個(gè)對(duì)象的所有應(yīng)該具有的特性特征信息,都是由其所屬的類(lèi)決定的!但是每個(gè)對(duì)象又很有可能有自己不同的特征特性信息,比如我自己這個(gè)對(duì)象名字叫圣騎士,性別男,會(huì)寫(xiě)程序,會(huì)教書(shū);另外一個(gè)對(duì)象可能叫章子怡,性別女,會(huì)演戲!

類(lèi)的定義

使用class關(guān)鍵字來(lái)定義的!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

這就是一個(gè)類(lèi),只不過(guò)里面什么都沒(méi)有!

其中,類(lèi)名不區(qū)分大小寫(xiě),由字母數(shù)字和下劃線(xiàn)構(gòu)成,第一個(gè)不能為數(shù)字,一般類(lèi)名采用大駝峰法命名(主要是區(qū)別方法名或函數(shù)名,我們一般使用小駝峰法來(lái)表示函數(shù)名和方法名)

思考:類(lèi)中可以有什么呢?

先回憶一下以前面向過(guò)程中,我們的代碼有什么?

定義常量和變量、定義函數(shù)

使用變量和常量(增刪改查)

調(diào)用函數(shù)、流程控制(if—else for while do-while 、foreach等)

語(yǔ)法上,一個(gè)類(lèi)的內(nèi)部可以具有自己的“變量”和“函數(shù)”,但此時(shí)技術(shù)術(shù)語(yǔ)上應(yīng)該稱(chēng)為“屬性”和“方法”,而且,一個(gè)類(lèi)也可以有自己的常量(類(lèi)常量),

上面的屬性、方法、常量就稱(chēng)之為是類(lèi)的“成員”!

所以,定義一個(gè)類(lèi),其實(shí)就是定義三種成員:定義屬性(變量)、定義方法(函數(shù))、定義常量(類(lèi)常量)

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

一個(gè)需要注意的地方就是,需要對(duì)成員進(jìn)行聲明才可以使用!

聲明采用的是訪(fǎng)問(wèn)修飾限定符來(lái)聲明的,一共有三個(gè):public,protected,private,暫時(shí)全部用public來(lái)聲明,其中另外兩個(gè)后面才學(xué)習(xí)!

有兩個(gè)特殊的:

1,public可以用var來(lái)代替!只是對(duì)低版本的一種兼容!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

2,方法的前面可以省略掉訪(fǎng)問(wèn)修飾限定符!默認(rèn)的就是為public

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

相當(dāng)于:

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

上面就定義了一個(gè)含有名字和Money金額和一個(gè)繳費(fèi)方法的學(xué)生類(lèi)!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

注意,在定義類(lèi)的時(shí)候,如果沒(méi)有給某個(gè)屬性賦值,默認(rèn)的就有null型,但是如果給其附上一個(gè)初始值,就必須是一個(gè)“直接值”,不能是一個(gè)表達(dá)式計(jì)算后的值!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

利用類(lèi)得到對(duì)象

注意:類(lèi)本身什么都做不了,必須利用類(lèi)得到對(duì)象,這個(gè)過(guò)程就叫作類(lèi)的實(shí)例化!

類(lèi)的實(shí)例化是通過(guò)關(guān)鍵字new來(lái)完成的!

語(yǔ)法是:new類(lèi)名;

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

上面已經(jīng)實(shí)例化了一個(gè)對(duì)象,不過(guò)對(duì)象一般都是放到一個(gè)變量里面!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

對(duì)象如何訪(fǎng)問(wèn)?使用箭頭-> 實(shí)現(xiàn)對(duì)對(duì)象成員的訪(fǎng)問(wèn)!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

可以實(shí)例化多個(gè)對(duì)象:

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

對(duì)象的編號(hào)不同,就說(shuō)明它們占用不同的內(nèi)存空間!

instanceof運(yùn)算符

可以利用instanceof運(yùn)算符來(lái)判斷某個(gè)對(duì)象是否是由某個(gè)類(lèi)實(shí)例化而來(lái)的!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

方法中$this關(guān)鍵字

$this是一個(gè)“偽對(duì)象”,代表當(dāng)前所屬的類(lèi)的當(dāng)前對(duì)象!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

$this的自我告白:誰(shuí)調(diào)用我,我就屬于誰(shuí)!

思考:屬性和方法都屬于對(duì)象的成員,為什么訪(fǎng)問(wèn)屬性的時(shí)候不需要$this關(guān)鍵字呢?

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

再次強(qiáng)調(diào):屬性不能在方法內(nèi)直接訪(fǎng)問(wèn)!需要找到其對(duì)象才能訪(fǎng)問(wèn),一個(gè)典型的做法就是使用$this->屬性名來(lái)訪(fǎng)問(wèn)當(dāng)前對(duì)象的屬性

構(gòu)造方法

通常實(shí)例化完一個(gè)對(duì)象后,都要對(duì)對(duì)象的屬性進(jìn)行初始化才有意義

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

也就是說(shuō),每次實(shí)例化完一個(gè)對(duì)象后,都要對(duì)該對(duì)象進(jìn)行一次初始化操作!比較麻煩!

思考:如何改善?

可以類(lèi)中建立一個(gè)專(zhuān)門(mén)給屬性進(jìn)行初始化的方法,實(shí)例化完之后,直接調(diào)用這個(gè)方法,一次完成對(duì)象的屬性的初始化!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

上面的代碼可以完成對(duì)象的屬性的初始化,但是還是不夠方便,每一次new完一個(gè)對(duì)象后都必須手動(dòng)調(diào)用init方法才能進(jìn)行屬性的初始化工作!

如果new的時(shí)候,能夠自動(dòng)調(diào)用init是最好的!

于是,構(gòu)造方式就橫空出世了!

事實(shí)上,在實(shí)例化一個(gè)對(duì)象的時(shí)候,php會(huì)自動(dòng)的調(diào)用一個(gè)名字叫__construct()的方法!

該方法,由于專(zhuān)門(mén)負(fù)責(zé)對(duì)新對(duì)象進(jìn)行初始化,稱(chēng)之為“構(gòu)造方法”!

該方法的最大的特點(diǎn)是,不需要人為的手動(dòng)調(diào)用,而是由系統(tǒng)在實(shí)例化一個(gè)對(duì)象的時(shí)候自動(dòng)調(diào)用!

問(wèn)題是,調(diào)用該方法的時(shí)候如何將實(shí)參傳遞給該方法的形參呢?

需要在實(shí)例化對(duì)象的時(shí)候順便在類(lèi)名后面增加一對(duì)小括號(hào),里面?zhèn)鬟f實(shí)參列表

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

注意:

在php早期版本當(dāng)中,構(gòu)造方法有一個(gè)比較老的語(yǔ)法,就是使用和類(lèi)名相同的方法作為構(gòu)造方法!

1,如果既有老語(yǔ)法的構(gòu)造方法名,又有新語(yǔ)法的構(gòu)造方法名,系統(tǒng)會(huì)主動(dòng)調(diào)用__construct方法!

2,存在一個(gè)最兼容的寫(xiě)法:

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

析構(gòu)方法

概念:與構(gòu)造方法是一對(duì),構(gòu)造方法是 在一個(gè)對(duì)象“出世”的時(shí)候由系統(tǒng)自動(dòng)調(diào)用的!而析構(gòu)方法是在一個(gè)對(duì)象“消失”的時(shí)候由系統(tǒng)自動(dòng)調(diào)用的!

名字是:__destruct()注意:該方法里面不能有參數(shù)!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

思考:析構(gòu)方法是在對(duì)象消失之前調(diào)用的還是對(duì)象消失之后調(diào)用的?

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼姡恍拍憧纯? data-index=

對(duì)象消失的幾種情況:當(dāng)一個(gè)腳本周期結(jié)束的時(shí)候,明確的使用unset去刪除一個(gè)對(duì)象的時(shí)候,改變對(duì)象變量的值,也會(huì)自動(dòng)銷(xiāo)毀!

析構(gòu)方法的作用

注意:析構(gòu)方法主要的作用就是釋放對(duì)象所占用的額外的資源,而不是對(duì)象本身

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

我們應(yīng)該在對(duì)象消失的時(shí)候,增加析構(gòu)方法,釋放該對(duì)象占用的額外的 資源

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

注意:析構(gòu)方法通常都需要需要額外的定義,只有在對(duì)象執(zhí)行的過(guò)程中,占用了額外的資源的時(shí)候才使用!

總結(jié)一下構(gòu)造方法和析構(gòu)方法的特點(diǎn):1,都是以__開(kāi)頭 2,都是由系統(tǒng)自動(dòng)調(diào)用 3,都是某個(gè)特定的情況發(fā)生的時(shí)候,調(diào)用相應(yīng)的方法!

對(duì)象的傳值與克隆

對(duì)象的傳值

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

值傳遞

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

引用傳遞

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

所以,對(duì)象的值傳遞和引用傳遞其實(shí)效果是完全一樣的!

也就是說(shuō),對(duì)象間的復(fù)制,無(wú)法開(kāi)辟一個(gè)新的對(duì)象空間,有時(shí)候,也叫作“淺復(fù)制”!

那么,我們?nèi)绾卫靡粋€(gè)已有的對(duì)象,得到一個(gè)新的對(duì)象呢?(單獨(dú)開(kāi)辟內(nèi)存空間)

這個(gè)時(shí)候就需要使用對(duì)象的克??!

對(duì)象的克?。核^的克隆,不是通過(guò)類(lèi)的實(shí)例化得到新的對(duì)象!而是通過(guò)一個(gè)已有的對(duì)象得到一個(gè)新的對(duì)象!語(yǔ)法如下:新對(duì)象 = clone對(duì)象

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

克隆一個(gè)對(duì)象的時(shí)候,會(huì)不會(huì)觸發(fā)構(gòu)造方法?

回答:不會(huì)!因?yàn)闃?gòu)造方法只有在實(shí)例化一個(gè)對(duì)象的時(shí)候才會(huì)觸發(fā),但是克隆一個(gè)對(duì)象不是實(shí)例化!

但是,存在一個(gè)克隆對(duì)象的時(shí)候自動(dòng)調(diào)用的魔術(shù)方法!

__clone方法

該方法就是在克隆一個(gè)對(duì)象的時(shí)候,負(fù)責(zé)對(duì)新對(duì)象進(jìn)行相關(guān)的初始化!

為什么要有__clone方法?

很有必要,因?yàn)榭陀^世界不存在兩個(gè)完全相同的對(duì)象!

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

學(xué)會(huì)面向?qū)ο缶幊讨恍枰宸昼?,不信你看? data-index=

提醒:以上的案例小伙伴們要去自己敲一遍代碼實(shí)現(xiàn)的哦!想要深入學(xué)習(xí)可以關(guān)注小編,每天都會(huì)都學(xué)習(xí)的文章推送給你,我們相互學(xué)習(xí),共同成長(zhǎng)!

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多