類與對(duì)象課件_第1頁(yè)
類與對(duì)象課件_第2頁(yè)
類與對(duì)象課件_第3頁(yè)
類與對(duì)象課件_第4頁(yè)
類與對(duì)象課件_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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、C+程序設(shè)計(jì)新世紀(jì)應(yīng)用型高等教育教材編審委員會(huì) 組編主編 羅燁 李秉璋第二版新世紀(jì)應(yīng)用型高等教育軟件專業(yè)系列規(guī)劃教材第1頁(yè),共42頁(yè)。第5章 類與對(duì)象第2頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述3對(duì)象、類和消息是面向?qū)ο蠹夹g(shù)的核心。1.對(duì)象在現(xiàn)實(shí)世界中,一切事物(實(shí)體)都可看成是面向?qū)ο蠹夹g(shù)中的對(duì)象。對(duì)象可以是有形的,比如汽車、計(jì)算機(jī);也可以是無(wú)形的,比如授課、計(jì)劃。對(duì)象可以是簡(jiǎn)單的,比如一本教材,也可以是復(fù)雜的,如由許多元器件構(gòu)成的手機(jī)。任何一個(gè)對(duì)象都具有屬性和行為兩大特征。屬性用于描述對(duì)象的靜態(tài)特征,比如汽車的功率、載重、輪子個(gè)數(shù)等。行為描述對(duì)象的動(dòng)態(tài)特征,比如前進(jìn)、倒退、加速。5.1.

2、1 面向?qū)ο蟮母拍畹?頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述42.類類是對(duì)象的抽象,對(duì)象則是類的具體化,稱為類的實(shí)例。通常,又稱類是一種用于創(chuàng)建對(duì)象的模板。在類中,屬性通常稱為數(shù)據(jù),行為稱為操作、方法。3.消息各對(duì)象間的聯(lián)系是通過(guò)向?qū)ο蟀l(fā)送消息來(lái)實(shí)現(xiàn)的。要使對(duì)象實(shí)現(xiàn)某種行為,必須向?qū)ο蟀l(fā)送相應(yīng)的消息。5.1.1 面向?qū)ο蟮母拍畹?頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述5面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)簡(jiǎn)單定義是:將具有相同特征(即具有相同數(shù)據(jù)和操作)的同一組對(duì)象用類來(lái)描述。面向?qū)ο蟪绦蛟O(shè)計(jì)是把程序構(gòu)造成由若干個(gè)對(duì)象組成,每個(gè)對(duì)象由一些數(shù)據(jù)以及對(duì)這些數(shù)據(jù)實(shí)施的操作構(gòu)成。對(duì)數(shù)據(jù)的操作是通過(guò)向?qū)ο蟀l(fā)送

3、消息來(lái)實(shí)現(xiàn)的。5.1.2 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)第5頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述6從上述定義可以看出,面向?qū)ο蟪绦蛟O(shè)計(jì)和之前的面向過(guò)程程序設(shè)計(jì)存在不同之處:5.1.2 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)(1)在面向過(guò)程的程序設(shè)計(jì)中,函數(shù)是構(gòu)成程序的基本模塊。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,對(duì)象是構(gòu)成程序的基本模塊。(2)在面向過(guò)程的程序設(shè)計(jì)中,數(shù)據(jù)和操作是分離的,數(shù)據(jù)作為參數(shù)傳遞給對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù)。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,數(shù)據(jù)和操作是封裝在一起的,形成一個(gè)整體。(3)在面向過(guò)程的程序設(shè)計(jì)中,數(shù)據(jù)的表示是公開(kāi)的,用戶可以直接對(duì)數(shù)據(jù)進(jìn)行處理。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,用戶只能通過(guò)對(duì)象發(fā)送消息來(lái)操作數(shù)據(jù)

4、。第6頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述7面向?qū)ο蟪绦蛟O(shè)計(jì)具有以下幾個(gè)特點(diǎn):5.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)1.抽象2.封裝性3.繼承性4.多態(tài)性第7頁(yè),共42頁(yè)。5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述8軟件開(kāi)發(fā)方法或技術(shù)有優(yōu)劣之分,對(duì)一個(gè)軟件開(kāi)發(fā)方法或技術(shù)的評(píng)價(jià)標(biāo)準(zhǔn)主要是看它的開(kāi)發(fā)效率和對(duì)軟件質(zhì)量的保證程度。開(kāi)發(fā)效率指使用該方法或技術(shù)進(jìn)行軟件開(kāi)發(fā)的難易程度以及它對(duì)縮短開(kāi)發(fā)周期的支持程度。軟件質(zhì)量是指用該方法或技術(shù)開(kāi)發(fā)出的軟件的正確性、健壯性、可復(fù)用性、易維護(hù)性以及效率等。5.1.4 面向?qū)ο蟮膬?yōu)點(diǎn)1.數(shù)據(jù)與操作合一2.軟件復(fù)用3. 軟件維護(hù)第8頁(yè),共42頁(yè)。5.2 類與對(duì)象概述9在C+中,類

5、定義的語(yǔ)法格式如下:5.2.1 類定義第9頁(yè),共42頁(yè)。5.2 類與對(duì)象概述10對(duì)于類定義,需要說(shuō)明以下幾點(diǎn):(1)類屬于類型范疇,系統(tǒng)不會(huì)為類分配內(nèi)存空間,就像系統(tǒng)不會(huì)為int、double等類型分配內(nèi)存一樣。因此在類定義中不能對(duì)數(shù)據(jù)成員進(jìn)行初始化。(2)類的三種訪問(wèn)控制private、public、protected,在類中沒(méi)有先后次序,可以多次出現(xiàn),也可以不出現(xiàn)。C+規(guī)定,類中默認(rèn)的訪問(wèn)控制是私有的,即private。(3)和結(jié)構(gòu)體定義類似,類定義結(jié)束的最后必須加分號(hào)“;”。(4)在CGoods類定義中只對(duì)成員函數(shù)進(jìn)行了聲明,并沒(méi)有對(duì)其進(jìn)行定義。(5)類的成員不能使用auto、regis

6、ter和extern等修飾符,一般只能用static修飾符。5.2.1 類定義第10頁(yè),共42頁(yè)。5.2 類與對(duì)象概述11在C+中有三種成員訪問(wèn)控制類型:5.2.2 類成員的訪問(wèn)控制公有類型public私有類型private保護(hù)類型protected第11頁(yè),共42頁(yè)。5.2 類與對(duì)象概述12類成員的訪問(wèn)控制:將需要隱藏的成員設(shè)為私有類型,成為一個(gè)外部無(wú)法訪問(wèn)的黑盒子;將提供給外界的接口設(shè)為公有類型,對(duì)外部就是透明的;而保護(hù)成員就相當(dāng)于一個(gè)籠子,它給派生類提供一些特殊的訪問(wèn)控制。5.2.2 類成員的訪問(wèn)控制第12頁(yè),共42頁(yè)。5.2 類與對(duì)象概述13建立對(duì)象的方法類似于定義變量。語(yǔ)法格式為:5

7、.2.3 對(duì)象的創(chuàng)建與使用定義了對(duì)象后,對(duì)對(duì)象成員的訪問(wèn)采用如下形式:第13頁(yè),共42頁(yè)。5.2 類與對(duì)象概述14建立同類對(duì)象后,每個(gè)對(duì)象中的數(shù)據(jù)成員都占用獨(dú)立的存儲(chǔ)空間,保存著各自的數(shù)據(jù)。而對(duì)于同類對(duì)象,它們的成員函數(shù)都是相同的代碼,沒(méi)有必要為每個(gè)同類對(duì)象的成員函數(shù)分配獨(dú)立的存儲(chǔ)空間,只需為類的成員函數(shù)分配一份存儲(chǔ)空間,存放代碼。而這份代碼被這個(gè)類的所有對(duì)象共用。5.2.4 對(duì)象的存儲(chǔ)方式第14頁(yè),共42頁(yè)。5.2 類與對(duì)象概述151.對(duì)象指針也可以使用對(duì)象指針訪問(wèn)對(duì)象。對(duì)象指針遵循一般指針的規(guī)則。例如: CGoods car, *pcar ; /pcar為CGoods類的指針 pcar=&

8、car ; /pcar指向了car前面已經(jīng)介紹過(guò),使用“對(duì)象名.成員名”就可以訪問(wèn)對(duì)象成員。有了指向?qū)ο蟮闹羔?可以通過(guò)該指針經(jīng)成員訪問(wèn)運(yùn)算符“-”訪問(wèn)對(duì)象成員。5.2.5 對(duì)象指針和成員指針第15頁(yè),共42頁(yè)。5.2 類與對(duì)象概述162.成員指針也可以通過(guò)指針訪問(wèn)對(duì)象成員。指向?qū)ο蟪蓡T的指針使用前要先定義,再賦值,最后引用。定義對(duì)象成員指針的語(yǔ)法格式為:定義了指向成員的指針之后,需要對(duì)其賦值,也就是要確定指針指向類中哪一個(gè)成員。對(duì)成員指針賦值的語(yǔ)法形式為:5.2.5 對(duì)象指針和成員指針第16頁(yè),共42頁(yè)。5.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)171.構(gòu)造函數(shù)的定義類的構(gòu)造函數(shù)的作用是在對(duì)象建立后,對(duì)對(duì)象

9、的非靜態(tài)數(shù)據(jù)成員初始化。構(gòu)造函數(shù)的定義形式如下:5.3.1 構(gòu)造函數(shù)的定義與調(diào)用第17頁(yè),共42頁(yè)。5.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)182.構(gòu)造函數(shù)的調(diào)用如前述,構(gòu)造函數(shù)的作用是完成對(duì)象初始化。因此在新建對(duì)象獲得內(nèi)存空間后,該對(duì)象就要調(diào)用構(gòu)造函數(shù),對(duì)數(shù)據(jù)成員進(jìn)行初始化。這一過(guò)程是自動(dòng)進(jìn)行的。當(dāng)類中有多個(gè)構(gòu)造函數(shù)時(shí),系統(tǒng)根據(jù)對(duì)象提供的參數(shù)決定調(diào)用哪個(gè)構(gòu)造函數(shù)。我們以三參數(shù)構(gòu)造函數(shù)5.3.1 構(gòu)造函數(shù)的定義與調(diào)用第18頁(yè),共42頁(yè)。5.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)193.成員初始化表對(duì)于類的構(gòu)造函數(shù),還有如下形式:成員初始化表的作用是向類傳遞初始化時(shí)的參數(shù),并初始化數(shù)據(jù)成員。成員初始化表的具體格式是:5.3.

10、1 構(gòu)造函數(shù)的定義與調(diào)用第19頁(yè),共42頁(yè)。5.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)20類的析構(gòu)函數(shù)的作用是在對(duì)象生存期結(jié)束時(shí)進(jìn)行必要的處理工作。析構(gòu)函數(shù)定義形式如下:析構(gòu)函數(shù)也是類的特殊的成員函數(shù),具有以下特征:(1)析構(gòu)函數(shù)名由“”符號(hào)和類名構(gòu)成。(2)當(dāng)一個(gè)對(duì)象的生存期結(jié)束時(shí),對(duì)象會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù),完成對(duì)象生存期結(jié)束時(shí)必要的處理,例如釋放由構(gòu)造函數(shù)申請(qǐng)的內(nèi)存等。(3)如果類定義中沒(méi)有顯式定義析構(gòu)函數(shù),編譯器也會(huì)為類建立一個(gè)不具有任何功能的默認(rèn)的析構(gòu)函數(shù),其形式為:(4)在一個(gè)作用域中存在多個(gè)對(duì)象時(shí),各對(duì)象遵循“先構(gòu)造、后析構(gòu);后構(gòu)造、先析構(gòu)”的析構(gòu)次序。5.3.2 析構(gòu)函數(shù)的定義與調(diào)用第20頁(yè),共4

11、2頁(yè)。5.4 復(fù)制構(gòu)造函數(shù)21引用是另一個(gè)變量的別名。通過(guò)引用名和被引用的變量名訪問(wèn)變量的效果是一樣的。定義引用的語(yǔ)法格式為:對(duì)于引用,還需要注意以下兩點(diǎn):(1)一個(gè)引用,只能引用變量,不能引用常量或表達(dá)式。即只能引用有地址的對(duì)象。(2)引用與被引用之間,不能像普通類型的變量一樣,可以進(jìn)行類型轉(zhuǎn)換。5.4.1 引用及函數(shù)的引用調(diào)用第21頁(yè),共42頁(yè)。5.4 復(fù)制構(gòu)造函數(shù)221.復(fù)制構(gòu)造函數(shù)的定義由于復(fù)制構(gòu)造函數(shù)也屬于構(gòu)造函數(shù),所以其函數(shù)名仍然是類名。參數(shù)只有一個(gè),類型是同類引用。復(fù)制構(gòu)造函數(shù)定義格式如下:2.復(fù)制構(gòu)造函數(shù)的調(diào)用和構(gòu)造函數(shù)、析構(gòu)函數(shù)一樣,復(fù)制構(gòu)造函數(shù)也是由對(duì)象自動(dòng)調(diào)用的。當(dāng)出現(xiàn)以

12、下三種情況時(shí),需要獲取數(shù)據(jù)的對(duì)象要調(diào)用復(fù)制構(gòu)造函數(shù)完成自身初始化。5.4.2 復(fù)制構(gòu)造函數(shù)的定義與調(diào)用第22頁(yè),共42頁(yè)。5.4 復(fù)制構(gòu)造函數(shù)233.對(duì)象的賦值C+系統(tǒng)為類提供了默認(rèn)的賦值運(yùn)算,使得同類對(duì)象可以像普通變量一樣進(jìn)行賦值運(yùn)算同類對(duì)象間對(duì)應(yīng)數(shù)據(jù)成員賦值,稱之為“按成員賦值”。在大多數(shù)情況下,類的默認(rèn)賦值運(yùn)算已經(jīng)滿足要求,也就不需要再自行定義賦值運(yùn)算。5.4.2 復(fù)制構(gòu)造函數(shù)的定義與調(diào)用第23頁(yè),共42頁(yè)。5.4 復(fù)制構(gòu)造函數(shù)241.默認(rèn)復(fù)制構(gòu)造函數(shù)的問(wèn)題2.類的深復(fù)制所謂深復(fù)制,就是給每個(gè)對(duì)象分配一個(gè)獨(dú)立的內(nèi)存區(qū)域,達(dá)到如圖所示的存儲(chǔ)布局。5.4.3 復(fù)制與深復(fù)制第24頁(yè),共42頁(yè)。

13、5.4 復(fù)制構(gòu)造函數(shù)25在類中,數(shù)據(jù)成員的類型可以是基本數(shù)據(jù)類型,也可以是類類型,即其他類的對(duì)象作為一個(gè)類的數(shù)據(jù)成員。這樣的成員稱為對(duì)象成員(又稱成員對(duì)象),含有對(duì)象成員的類稱為組合類(又稱聚合類)。在建立組合類對(duì)象時(shí),組合類的構(gòu)造函數(shù)要對(duì)所有對(duì)象成員、數(shù)據(jù)成員初始化。因此組合類的構(gòu)造函數(shù)語(yǔ)法格式如下:5.4.4 組合類與構(gòu)造函數(shù)第25頁(yè),共42頁(yè)。5.4 復(fù)制構(gòu)造函數(shù)26組合類的構(gòu)造函數(shù)執(zhí)行順序是:5.4.4 組合類與構(gòu)造函數(shù)(1)首先按照對(duì)象成員在組合類中的定義順序,調(diào)用對(duì)象成員的構(gòu)造函數(shù),完成對(duì)象成員的初始化。(2)按照數(shù)據(jù)成員在組合類中的定義順序,對(duì)成員初始化表中各數(shù)據(jù)成員初始化。(3

14、)最后執(zhí)行組合類構(gòu)造函數(shù)的函數(shù)體。第26頁(yè),共42頁(yè)。5.5 類的靜態(tài)成員27當(dāng)一個(gè)類的各對(duì)象需要共享數(shù)據(jù),可以在類定義中用關(guān)鍵字static將該數(shù)據(jù)說(shuō)明為靜態(tài)數(shù)據(jù)成員。這樣靜態(tài)數(shù)據(jù)成員在內(nèi)存只存儲(chǔ)一份,被該類的所有對(duì)象所共享。因此一般用類名來(lái)引用類的靜態(tài)成員。5.5.1 靜態(tài)數(shù)據(jù)成員第27頁(yè),共42頁(yè)。5.5 類的靜態(tài)成員28對(duì)靜態(tài)數(shù)據(jù)成員再說(shuō)明兩點(diǎn):(1)對(duì)靜態(tài)數(shù)據(jù)使用前,必須要在類外進(jìn)行定義性說(shuō)明,格式如下:(2)任何對(duì)象的釋放,都不影響靜態(tài)數(shù)據(jù)成員生存期。靜態(tài)數(shù)據(jù)成員是在程序開(kāi)始運(yùn)行時(shí)獲得內(nèi)存,程序結(jié)束運(yùn)行時(shí)釋放內(nèi)存。但其作用域僅限于定義該類的作用域。5.5.1 靜態(tài)數(shù)據(jù)成員第28頁(yè),

15、共42頁(yè)。5.6 常對(duì)象與常成員29如果在聲明一個(gè)引用時(shí)用const修飾,被聲明的引用就是常引用。常引用所引用的對(duì)象不能被更新。常引用的定義語(yǔ)法為:5.6.1 常引用第29頁(yè),共42頁(yè)。5.6 常對(duì)象與常成員30如果在聲明一個(gè)引用時(shí)用const修飾,被聲明的引用就是常引用。常引用所引用的對(duì)象不能被更新。常引用的定義語(yǔ)法為:5.6.2 常對(duì)象第30頁(yè),共42頁(yè)。5.6 常對(duì)象與常成員31使用const說(shuō)明的數(shù)據(jù)成員稱為常數(shù)據(jù)成員。常數(shù)據(jù)成員的定義與一般常變量的定義方法相同。常數(shù)據(jù)成員只能通過(guò)構(gòu)造函數(shù)的成員初始化表進(jìn)行初始化,此后在對(duì)象的生存期中不能再作任何更改。常數(shù)據(jù)成員定義的格式如下:5.6.

16、3 常數(shù)據(jù)成員第31頁(yè),共42頁(yè)。5.6 常對(duì)象與常成員32在類中用const關(guān)鍵字修飾的函數(shù),稱為常成員函數(shù)。常成員函數(shù)的聲明格式如下:5.6.4 常成員函數(shù)第32頁(yè),共42頁(yè)。5.7 類的友元33在類中用關(guān)鍵字friend修飾一個(gè)函數(shù)的聲明,該函數(shù)就成為這個(gè)類的友元函數(shù)。友元函數(shù)可以是一個(gè)普通函數(shù),也可以是其他類的成員函數(shù)。友元函數(shù)在類中的聲明語(yǔ)法格式為:5.7.1 友元函數(shù)第33頁(yè),共42頁(yè)。5.7 類的友元34友元可以是函數(shù),還可以是類??梢詫⒁粋€(gè)類聲明為另一個(gè)類的友元類。例如將B類聲明為A類的友元類。這樣B類的所有成員函數(shù)都是A類的友元函數(shù),在B類的成員函數(shù)中,可以通過(guò)A類對(duì)象訪問(wèn)A

17、類的所有成員。通常將友元類設(shè)計(jì)為一種對(duì)數(shù)據(jù)操作或類之間傳遞消息的輔助類。5.7.2 友元類第34頁(yè),共42頁(yè)。5.7 類的友元35關(guān)于友元關(guān)系,還有以下性質(zhì):5.7.2 友元類(1)友元關(guān)系是不傳遞的。(2)友元關(guān)系是單向的。(3)友元關(guān)系是不被繼承的。第35頁(yè),共42頁(yè)。5.8 類應(yīng)用實(shí)例公司人員管理程序36從20世紀(jì)70年代到90年代,出現(xiàn)了大批面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,同時(shí)出現(xiàn)了大批面向?qū)ο蟮慕UZ(yǔ)言。這些建模語(yǔ)言功能類似,但在表述上存在差異,給軟件的交流帶來(lái)困難。于是OMG(ObjectManagementGroup)經(jīng)過(guò)多年努力,于2003年建立了統(tǒng)一建模語(yǔ)言(UML)。UML語(yǔ)言的主要內(nèi)容是使用各種圖符描述軟件模型的靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為和模塊組織與管理。本節(jié)僅介紹類與對(duì)象的UML圖形描述以及它們之間的靜態(tài)關(guān)系。對(duì)UML感興趣的讀者可以參考相關(guān)書(shū)籍,了解更多UML語(yǔ)言的內(nèi)容。5.8.1 UML簡(jiǎn)介第36頁(yè),共42頁(yè)。5.8 類應(yīng)用實(shí)例公司人員管理程序371.類在UML語(yǔ)言中,用一個(gè)由上到下分為三部分的矩形來(lái)表示一個(gè)類。類名在頂部區(qū)域,數(shù)據(jù)成員(UML中稱為屬性)在中間區(qū)域,成員函數(shù)(UML中稱為操作)在底部區(qū)域。除了名稱部分外,其他兩個(gè)部分是可選的,即類的屬性和操作可以不表示出來(lái),也就是說(shuō),一個(gè)寫(xiě)了類名的矩形

溫馨提示

  • 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)論