c++學(xué)習(xí)之OO思想
針對(duì)不同的對(duì)象去做實(shí)例化,就是所謂的OO思想。
在面對(duì)對(duì)象的思想中,任何事物都可以被看作一個(gè)對(duì)象。一個(gè)在復(fù)雜的模型結(jié)構(gòu)都是由千千萬萬個(gè)對(duì)象組成的,這是根本思想。
面向?qū)ο笫钱?dāng)前軟件開發(fā)方法的主流,其概念和應(yīng)用早已超越了程序設(shè)計(jì)和軟件開發(fā)本身而擴(kuò)展到更加寬廣的范圍。
OO思想的特點(diǎn)
1.??? 封裝
封裝意味著把對(duì)象的屬性和方法結(jié)合成一個(gè)獨(dú)立的系統(tǒng)單位,并盡可能隱藏對(duì)象的內(nèi)部細(xì)節(jié)。
2.??? 抽象
抽象的過程是對(duì)具體問題進(jìn)行概括的過程,是對(duì)一類公共問題進(jìn)行統(tǒng)一描述的過程,為了是某些必要的信息得以順利的交流,設(shè)計(jì)者必須制定一個(gè)抽象,就如同一個(gè)協(xié)議,一個(gè)得到所有參與活動(dòng)的有效個(gè)體的協(xié)議。(類似接口一樣的東西)
3.??? 繼承
子類對(duì)象擁有與其基類相同的全部屬性和方法,稱為繼承。
4.??? 多態(tài)
多態(tài)是指在基類中定義的屬性和行為被子類繼承后,可以具有不同的數(shù)據(jù)類型或者表現(xiàn)行為等特性。
假如動(dòng)物是一個(gè)基類,他的子類有老虎,兔子,狗,小鳥。。。
那么作為動(dòng)物有一個(gè)行為定義為Feed(),
那么這些子類繼承下來后悔根據(jù)自己的特點(diǎn)采取不同個(gè)性的Feed()方式。