什么是類(lèi)什么是對(duì)象_什么叫子對(duì)象類(lèi)?
特邀律師
我舉個(gè)例子
這里
class man
{};
class car
{};
class mailplayer:public man
{public:
mailplayer(){}
private:
car flycar;
};
不好意思,我上面的解釋是錯(cuò)的,這個(gè)是正確的
這里,基類(lèi)是指man類(lèi),子對(duì)象類(lèi)指car,派生類(lèi)指mailplayer
因?yàn)閙ailplayer繼續(xù)man,先調(diào)用man的構(gòu)造函數(shù)
又因?yàn)樗臄?shù)據(jù)成員有一個(gè)是對(duì)象,先調(diào)用這個(gè)對(duì)象的類(lèi)的構(gòu)造函數(shù)即car的構(gòu)造函數(shù)
最后調(diào)用自身的構(gòu)造函數(shù),即mailplayer的構(gòu)造函數(shù)
對(duì)象是類(lèi)的實(shí)例,類(lèi)是相同結(jié)構(gòu)的對(duì)象的抽象。同類(lèi)的各個(gè)對(duì)象其實(shí)擁有相同的屬性和方法,只是屬性值不同而已。好比學(xué)生類(lèi)中的學(xué)生對(duì)象,每個(gè)學(xué)生的屬性(身高,學(xué)號(hào)等)
類(lèi)的屬性說(shuō)的應(yīng)該就是靜態(tài)變量(static修飾符)就是在類(lèi)加載的時(shí)候,就已被分配了內(nèi)存(存在于靜態(tài)區(qū))只有一份,所以new出來(lái)的對(duì)象都共享此屬性。而對(duì)象的屬性就非static修飾的屬性,是屬于單個(gè)實(shí)例化的類(lèi)。沒(méi)new一個(gè)實(shí)例就在堆內(nèi)存中創(chuàng)建一份。就等于多個(gè)拷貝,占內(nèi)存多,但比較靈活,自己修改自己的屬性值,互不影響。
對(duì)象是類(lèi)的實(shí)例,成員是指類(lèi)中定義的屬性、方法等,也可以指具體的對(duì)象的屬性、方法等。比如說(shuō)“命令按鈕”這個(gè)類(lèi),它的成員有“標(biāo)題文字”、“左上角位置”、“外觀樣式”等屬性、“移動(dòng)”等方法。但這些都只是在定義中。我們平時(shí)看到的各種各樣的命令按鈕,都是由這個(gè)類(lèi)產(chǎn)生的對(duì)象,即“命令按鈕”類(lèi)的實(shí)例。由于這些實(shí)例都是由“命令按鈕”類(lèi)產(chǎn)生的,因此它們都具有“標(biāo)題文字”等屬性與方法,即成員。
探討各種人文現(xiàn)象的地理分布、擴(kuò)散和變化,以及人類(lèi)社會(huì)活動(dòng)的地域結(jié)構(gòu)的形成和發(fā)展規(guī)律的一門(mén)學(xué)科,是地理學(xué)的兩個(gè)主要分支學(xué)科之一。“人文”二字與自然地理學(xué)的“自然”二字相對(duì)應(yīng),泛指各種社會(huì)、政治、經(jīng)濟(jì)和文化現(xiàn)象。人文地理學(xué)一般有廣義與狹義之分,廣義的人文地理學(xué)包括社會(huì)文化地理學(xué)、政治地理學(xué)、經(jīng)濟(jì)地理學(xué)等,狹義的人文地理學(xué)則指社會(huì)文化地理學(xué)。
一、類(lèi)和對(duì)象的區(qū)別 1、定義不同 類(lèi)是現(xiàn)實(shí)世界或思維世界中的實(shí)體在計(jì)算機(jī)中的反映,它將數(shù)據(jù)以及這些數(shù)據(jù)上的操作封裝在一起。 對(duì)象是具有類(lèi)類(lèi)型的變量。類(lèi)和對(duì)象是面向?qū)ο缶幊碳夹g(shù)中的最基本的概念。 2、范疇不同 類(lèi)是一個(gè)抽象的概念,它不存在于現(xiàn)實(shí)中的時(shí)間、空間里,類(lèi)知識(shí)為所有的對(duì)象定義了抽象的屬性與行為。 對(duì)象是類(lèi)的一個(gè)具體。它是一個(gè)實(shí)實(shí)在在存在的東西。 3、狀態(tài)不同 類(lèi)是一個(gè)靜態(tài)的概念,類(lèi)本身不攜帶任何數(shù)據(jù)。當(dāng)沒(méi)有為類(lèi)創(chuàng)建任何數(shù)據(jù)時(shí),類(lèi)本身不存在于內(nèi)存空間 對(duì)象是一個(gè)動(dòng)態(tài)的概念,每一個(gè)對(duì)象都存在著有別于其它對(duì)象的屬于自己的獨(dú)特的屬性和行為,屬性可以隨著它自己的行為而發(fā)生改變。 二、類(lèi)和對(duì)象的關(guān)系 類(lèi)是對(duì)象的抽象,而對(duì)象是類(lèi)的具體實(shí)例。類(lèi)是抽象的,不占用內(nèi)存,而對(duì)象是具體的,占用存儲(chǔ)空間。類(lèi)是用于創(chuàng)建對(duì)象的藍(lán)圖,它是一個(gè)定義包括在特定類(lèi)型的對(duì)象中的方法和變量的軟件模板。 類(lèi)與對(duì)象的關(guān)系就如模具和鑄件的關(guān)系 類(lèi)的實(shí)例化結(jié)果就是對(duì)象,而對(duì)一類(lèi)對(duì)象的抽象就是類(lèi),類(lèi)描述了一組有相同屬性和相同方法的對(duì)象。
類(lèi)就是一組具有相同數(shù)據(jù)結(jié)構(gòu)(靜態(tài)特征)和相同操作(動(dòng)態(tài)行為特征)的對(duì)象的集合,是同一類(lèi)事物的抽象,類(lèi)的定義包括一組數(shù)據(jù)屬性和在數(shù)據(jù)上的一組合法的操作。如C#中定義的int類(lèi)型,如果沒(méi)有就要自己來(lái)定義了,如student類(lèi)。
對(duì)象是具體的實(shí)體,如學(xué)生類(lèi)中的一個(gè)學(xué)生如張三等
方法是具體的要做的事,如學(xué)生要吃飯,睡覺(jué),打球,這類(lèi)事情。
屬性是學(xué)生的一些相同點(diǎn),如他們的名字,性別,身高等,可以通過(guò)設(shè)置它的get與set方法來(lái)獲得它
字段與屬性類(lèi)似,當(dāng)只對(duì)它進(jìn)行定義,并在方法中使用時(shí),為字段,為它設(shè)置get與set為屬性
函數(shù)則包括方法,屬性,字段等一系列的東西,對(duì)對(duì)象進(jìn)行操作。
類(lèi)就好比是一個(gè)模具,而對(duì)象就是用這個(gè)模具刻出來(lái)的產(chǎn)品,什么樣的模具出來(lái)什么樣的產(chǎn)品,同樣的,什么樣的類(lèi)實(shí)例化出來(lái)什么樣的對(duì)象。可以說(shuō),類(lèi)是對(duì)具有同樣性質(zhì)的一類(lèi)對(duì)象的抽象說(shuō)明,比如小明,小紅等具體的人是對(duì)象,而人這個(gè)概念就是他們對(duì)應(yīng)的類(lèi),人這個(gè)類(lèi)里面具有人這個(gè)概念的一般性質(zhì)(如姓名、身高、性別等等),而具體的每一個(gè)人對(duì)每個(gè)性質(zhì)可能有不同的具體值(如小明的姓名屬性是小明,小紅的姓名屬性是小紅)。類(lèi)是抽象出來(lái)的概念,對(duì)象是這個(gè)抽象說(shuō)明的類(lèi)的一個(gè)具體情況。定義類(lèi)需要使用class關(guān)鍵字來(lái)定義,如class people{};定義對(duì)象需要使用這個(gè)對(duì)象所屬的類(lèi)并用new關(guān)鍵字來(lái)實(shí)例化,如 new people();(當(dāng)然,java實(shí)例化對(duì)象還有更深的反射實(shí)例化方法)。
類(lèi)是一個(gè)抽象的概念而對(duì)象是類(lèi)抽象概念的實(shí)物表達(dá)打個(gè)比方比如水果攤進(jìn)了一批水果(就好比是類(lèi))然后我就去問(wèn)賣(mài)家有哪些新鮮的水果店家說(shuō)有蘋(píng)果、梨、桃等等(這里的蘋(píng)果、梨、桃就是對(duì)象)也就是說(shuō)對(duì)象是類(lèi)的具體表達(dá)而類(lèi)則是對(duì)象的抽象表達(dá)