面向?qū)ο笫且环N思想,是基于面向過程而言的,就是說面向?qū)ο笫菍⒐δ艿韧ㄟ^對象來實現(xiàn),將功能封裝進對象之中,讓對象去實現(xiàn)具體的細節(jié);這種思想是將數(shù)據(jù)作為第一位,而方法或者說是算法作為其次,這是對數(shù)據(jù)一種優(yōu)化,操作起來更加的方便,簡化了過程
。
面向?qū)ο笥腥筇卣鳎悍庋b性、繼承性、多態(tài)性
其中封裝性指的是隱藏了對象的屬性和實現(xiàn)細節(jié),僅對外提供公共的訪問方式,這樣就隔離了具體的變化,便于使用,提高了復(fù)用性和安全性。
對于繼承性,就是兩種事物間存在著一定的所屬關(guān)系,那么繼承的類就可以從被繼承的類中獲得一些屬性和方法;這就提高了代碼的復(fù)用性。
繼承是作為多態(tài)的前提的。多態(tài)是說父類或接口的引用指向了子類對象,這就提高了程序的擴展性,也就是說只要實現(xiàn)或繼承了同一個接口或類,那么就可以使用父類中相應(yīng)的方法,提高程序擴展性,但是多態(tài)有一點不好之處在于:父類引用不能訪問子類中的成員的特有方法和屬性。
舉例來說:就是:比如說你要去飯店吃飯,你只需要去飯店,找到飯店的服務(wù)員,跟她說你要吃什么,然后就會給你做出來讓你吃,你并不需要知道這個飯是怎么做的,你只需要面向這個服務(wù)員,告訴他你要吃什么,然后他也只需要面向你吃完收到錢就好,不需要知道你怎么對這個飯怎么吃的。
1、特點:
1:將復(fù)雜的事情簡單化。
2:面向?qū)ο髮⒁郧暗倪^程中的執(zhí)行者,變成了指揮者。
3:面向?qū)ο筮@種思想是符合現(xiàn)在人們思考習(xí)慣的一種思想。
2、面向?qū)ο蟮娜筇卣鳎悍庋b,繼承、多態(tài)
1.封裝:只隱藏對象的屬性和實現(xiàn)細節(jié),僅對外提供公共訪問方式
好處:將變化隔離、便于使用、提高復(fù)用性、提高安全性
原則:將不需要對外提供的內(nèi)容隱藏起來;把屬性隱藏,提供公共方法對其訪問
2.繼承:提高代碼復(fù)用性;繼承是多態(tài)的前提
注:
①子類中所有的構(gòu)造函數(shù)都會默認訪問父類中的空參數(shù)的構(gòu)造函數(shù),默認第一行有super();若無空參數(shù)構(gòu)造函數(shù),子類中需指定;另外,子類構(gòu)造函數(shù)中可自己用this指定自身的其他構(gòu)造函數(shù)。
3.多態(tài)
同一個對象,在不同時刻體現(xiàn)出來的不同狀態(tài)。
是父類或接口定義的引用變量可以指向子類或具體實現(xiàn)類的實例對象
好處:提高了程序的擴展性
弊端:當父類引用指向子類對象時,雖提高了擴展性,但只能訪問父類中具備的方法,不可訪問子類中的方法;即訪問的局限性。
前提:實現(xiàn)或繼承關(guān)系;覆寫父類方法。