【C++】什么是对象?什么是类?
“有對(duì)象嗎?沒有! new 一個(gè)。”當(dāng)?shù)谝淮谓佑|面向程序設(shè)計(jì)語言Java時(shí),大家都會(huì)拿這句話作為調(diào)侃,但是,作為一個(gè)大三的學(xué)生,如果還是對(duì)“對(duì)象”有著淺層次的理解,確實(shí)有點(diǎn)說不過去啦!
文章目錄
- 1、什么是對(duì)象?
- 1.1 現(xiàn)實(shí)世界中的含義:
- 1.2 程序設(shè)計(jì)中的含義:
- 2、什么是類?
1、什么是對(duì)象?
什么是對(duì)象?作為一個(gè)二十多歲的年輕人,乍一看,這還用說,當(dāng)然就是結(jié)婚的對(duì)象啦。當(dāng)然可以這樣理解,但是世界這么大,我也想去看看萬物世界,在看世界的過程中,我們?cè)诂F(xiàn)實(shí)中能看到的每一個(gè)能叫出來名字的都可以被理解為對(duì)象,有些對(duì)象是抽象的,比如一場(chǎng)球賽,一場(chǎng)音樂會(huì)。有些是具體的,比如張三、李四、小花狗。
1.1 現(xiàn)實(shí)世界中的含義:
在現(xiàn)實(shí)世界中,任何事物都是對(duì)象。 它可以是一個(gè)有形的具體存在的事物,例如一張板凳,一臺(tái)電腦,一個(gè)學(xué)生,一輛汽車,也可以是無形的,抽象的事物,例如一次演出,一場(chǎng)球賽等等,對(duì)象可以是簡單的,也可以是復(fù)雜的。
現(xiàn)實(shí)世界中的對(duì)象既具有靜態(tài)的屬性(或稱之為狀態(tài)),又具有動(dòng)態(tài)的行為(或稱操作,功能)。 靜態(tài)屬性指的是“是什么”,動(dòng)態(tài)屬性指的是“做什么”。 比如:潘小藍(lán)的博客名稱是潘小藍(lán),性別是男,年齡18歲 ,這些被稱之為靜態(tài)屬性。潘小藍(lán)看博客,寫博客,或者正在看博客的你點(diǎn)擊鼠標(biāo)點(diǎn)贊收藏這些需要做的事情被稱之為動(dòng)態(tài)屬性。
有靜態(tài)屬性+動(dòng)態(tài)屬性的事物我們稱之為對(duì)象。所以在現(xiàn)實(shí)世界中,對(duì)象一般可以表示為 屬性 + 行為。一個(gè)對(duì)象往往是由一組屬性和一組行為構(gòu)成的。
現(xiàn)實(shí)世界中的對(duì)象,具有以下特性:
- 每一個(gè)對(duì)象必須有一個(gè)名字以區(qū)別于其他對(duì)象。
- 用屬性來描述對(duì)象的某些特征。
- 有一組操作,每組操作決定對(duì)象的一個(gè)行為。
- 對(duì)象的行為可以分為兩類,一類是作用于自身的行為(例如我們?cè)贘ava中的setXxx(),getXxx()方法,一種是作用于其他對(duì)象的行為。
1.2 程序設(shè)計(jì)中的含義:
程序設(shè)計(jì)中的對(duì)象是現(xiàn)實(shí)世界的另一種呈現(xiàn)。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象是描述其屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的一組操作封裝在一起構(gòu)成的統(tǒng)一體。
在C++中,每個(gè)對(duì)象都是由數(shù)據(jù)和操作代碼(通常用函數(shù)實(shí)現(xiàn))組成的,數(shù)據(jù)就是上文提到的屬性,操作代碼是上文提到的動(dòng)態(tài)行為。
例如:一個(gè)學(xué)生就是一個(gè)對(duì)象,學(xué)號(hào)、姓名和成績等數(shù)據(jù)就是它的屬性,輸入或輸出姓名、學(xué)號(hào)、成績等操作就是前面提到的行為。
2、什么是類?
如果說對(duì)象是我們常說的女朋友,那么類就是女朋友的生產(chǎn)者和制造者。如果將多個(gè)女朋友的共同特征抽象出來,比如都是女生,都是18歲這些共有的屬性,或者共有的行為操作,比如愛生氣,愛撒嬌。將這些共有的屬性和行為抽象出來,抽象出來的就是一個(gè)類。 如果下次還像找類似的女朋友,那么就可以直接通過類實(shí)例化一個(gè)對(duì)象,共同壓馬路啦。類是對(duì)象的抽象,而對(duì)象是類的實(shí)例。
兩者之間的關(guān)系:
類和對(duì)象之間的關(guān)系是抽象和具體的關(guān)系。類是多個(gè)對(duì)象進(jìn)行綜合抽象的結(jié)果,對(duì)象又是類的個(gè)體實(shí)物,一個(gè)對(duì)象是類的一個(gè)實(shí)例。 例如 : 雖然張三、李四、王五、潘小藍(lán),每個(gè)人的性格、愛好、職業(yè)、特長等各有不同,但是基本特征是相似的,都具有相同的生理構(gòu)造,都能吃飯、說話、走路等,于是把他們統(tǒng)稱為“人”類,而具體的每一個(gè)人是人類的一個(gè)實(shí)例,也就是一個(gè)對(duì)象。
在面向?qū)ο蟪绦蛟O(shè)計(jì)中,總是先聲明類,再由類生成其對(duì)象。 類是建立對(duì)象的“模板”,按照這個(gè)模板所建立的一個(gè)個(gè)具體的對(duì)象,就是類的實(shí)際例子,通常成為實(shí)例。(就是我們通常所說的實(shí)例化,每個(gè)對(duì)象就是類的一個(gè)實(shí)際的例子)。舉個(gè)例子就是,在手工制作月餅的時(shí)候,先雕刻一個(gè)有凹下圖案的木模,然后在木模上抹油,接著將事先揉好的面塞進(jìn)木模里,用力擠壓后,將木模反扣在桌上,一個(gè)漂亮地 圖案就會(huì)出現(xiàn)在月餅上了。這樣一個(gè)接著一個(gè)地,就可以制造出外形一模一樣的月餅。這個(gè)木模就好比是"類",制造出來的糕點(diǎn)就是所說的“對(duì)象”。
在C++語言中,把類中數(shù)據(jù)稱之為數(shù)據(jù)成員,類中的操作是用函數(shù)來實(shí)現(xiàn)的,這些函數(shù)成為成員函數(shù)。
總結(jié)
以上是生活随笔為你收集整理的【C++】什么是对象?什么是类?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于android地图国内外研究,开题报
- 下一篇: s3c2440移植MQTT