在面向?qū)ο蟮某绦蛟O(shè)計(jì)(英語(yǔ):Object-oriented programming,縮寫(xiě):OOP)中,對(duì)象是一個(gè)由信息及對(duì)信息進(jìn)行處理的描述所組成的整體,是對(duì)現(xiàn)實(shí)世界的抽象。
在現(xiàn)實(shí)世界里我們所面對(duì)的事情都是對(duì)象,如計(jì)算機(jī)、電視機(jī)、自行車(chē)等。
對(duì)象的主要三個(gè)特性:
對(duì)象的行為:可以對(duì) 對(duì)象施加那些操作,開(kāi)燈,關(guān)燈就是行為。
對(duì)象的形態(tài):當(dāng)施加那些方法是對(duì)象如何響應(yīng),顏色,尺寸,外型。
對(duì)象的表示:對(duì)象的表示就相當(dāng)于身份證,具體區(qū)分在相同的行為與狀態(tài)下有什么不同。
比如 Animal(動(dòng)物) 是一個(gè)抽象類(lèi),我們可以具體到一只狗跟一只羊,而狗跟羊就是具體的對(duì)象,他們有顏色屬性,可以寫(xiě),可以跑等行為狀態(tài)。
面向?qū)ο髢?nèi)容
類(lèi) ? 定義了一件事物的抽象特點(diǎn)。類(lèi)的定義包含了數(shù)據(jù)的形式以及對(duì)數(shù)據(jù)的操作。
對(duì)象 ? 是類(lèi)的實(shí)例。
成員變量 ? 定義在類(lèi)內(nèi)部的變量。該變量的值對(duì)外是不可見(jiàn)的,但是可以通過(guò)成員函數(shù)訪(fǎng)問(wèn),在類(lèi)被實(shí)例化為對(duì)象后,該變量即可稱(chēng)為對(duì)象的屬性。
成員函數(shù) ? 定義在類(lèi)的內(nèi)部,可用于訪(fǎng)問(wèn)對(duì)象的數(shù)據(jù)。
繼承 ? 繼承性是子類(lèi)自動(dòng)共享父類(lèi)數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類(lèi)之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類(lèi)的時(shí)候,可以在一個(gè)已經(jīng)存在的類(lèi)的基礎(chǔ)之上來(lái)進(jìn)行,把這個(gè)已經(jīng)存在的類(lèi)所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。
父類(lèi) ? 一個(gè)類(lèi)被其他類(lèi)繼承,可將該類(lèi)稱(chēng)為父類(lèi),或基類(lèi),或超類(lèi)。
子類(lèi) ? 一個(gè)類(lèi)繼承其他類(lèi)稱(chēng)為子類(lèi),也可稱(chēng)為派生類(lèi)。
多態(tài) ? 多態(tài)性是指相同的操作或函數(shù)、過(guò)程可作用于多種類(lèi)型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱(chēng)為多態(tài)性。
重載 ? 簡(jiǎn)單說(shuō),就是函數(shù)或者方法有同樣的名稱(chēng),但是參數(shù)列表不相同的情形,這樣的同名不同參數(shù)的函數(shù)或者方法之間,互相稱(chēng)之為重載函數(shù)或者方法。
抽象性 ? 抽象性是指將具有一致的數(shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對(duì)象抽象成類(lèi)。一個(gè)類(lèi)就是這樣一種抽象,它反映了與應(yīng)用有關(guān)的重要性質(zhì),而忽略其他一些無(wú)關(guān)內(nèi)容。任何類(lèi)的劃分都是主觀(guān)的,但必須與具體的應(yīng)用有關(guān)。
封裝 ? 封裝是指將現(xiàn)實(shí)世界中存在的某個(gè)客體的屬性與行為綁定在一起,并放置在一個(gè)邏輯單元內(nèi)。
構(gòu)造函數(shù) ? 主要用來(lái)在創(chuàng)建對(duì)象時(shí)初始化對(duì)象, 即為對(duì)象成員變量賦初始值,總與new運(yùn)算符一起使用在創(chuàng)建對(duì)象的語(yǔ)句中。
析構(gòu)函數(shù) ? 析構(gòu)函數(shù)(destructor) 與構(gòu)造函數(shù)相反,當(dāng)對(duì)象結(jié)束其生命周期時(shí)(例如對(duì)象所在的函數(shù)已調(diào)用完畢),系統(tǒng)自動(dòng)執(zhí)行析構(gòu)函數(shù)。析構(gòu)函數(shù)往往用來(lái)做"清理善后" 的工作(例如在建立對(duì)象時(shí)用new開(kāi)辟了一片內(nèi)存空間,應(yīng)在退出前在析構(gòu)函數(shù)中用delete釋放)。