Java面向?qū)ο笕筇卣髟趺礃虞p松理解`?
封裝:
首先,屬性可用來(lái)描述同一類(lèi)事物的特征, 行為可描述一類(lèi)事物可做的操作,封裝就是要把屬于同一類(lèi)事物的共性(包括屬性與行為)歸到一個(gè)類(lèi)中,以方便使用.比如人這個(gè)東東,可用下面的方式封裝:
人{(lán)
年齡(屬性一)
身高(屬性二)
性別(屬性三)
做事(行為之一)
走路(行為之二)
說(shuō)話(行為之三)
}
繼承:
由于封裝,使得有共同特征的一類(lèi)事物的所有描述信息都被歸于一類(lèi)之中,但我們知道,這并不是萬(wàn)能的,有些事物有共性,但還存在區(qū)別,比如教師,簡(jiǎn)單封裝起來(lái)如下:
教師{
年齡(屬性一)
身高(屬性二)
性別(屬性三)
做事(行為之一)
走路(行為之二)
說(shuō)話(行為之三)
教書(shū)(行為之四)
}
上面對(duì)教師的封裝,與對(duì)人的封裝基本上差不多,只是多了一個(gè)特征行為:教書(shū),
教師有與人一樣的共性, 但我們不能說(shuō)人教書(shū),也就是不能把教書(shū)封裝到人之中去,教書(shū)是教師的特征行為之一. 為了省事地封裝教師(代碼的復(fù)用,這只是繼承存在的原因之一), 可以讓教師去繼承人,如:
教師 extends 人{(lán)
教書(shū)(行為之三)
}
這樣,我們就不用重新定義那些已經(jīng)被人這一個(gè)類(lèi)所封裝的那些屬性與行為了,而只需要使用繼承的方式,在人的基礎(chǔ)上拓展教師專(zhuān)有的行為,即教書(shū)即可把教師描述出來(lái);這樣的結(jié)果, 即是教師也同時(shí)擁有人之中所封裝的一切屬性與行為, 還擁有自己的特征行為教書(shū).
多態(tài):
多態(tài)的概念發(fā)展出來(lái),是以封裝和繼承為基礎(chǔ)的(其實(shí)我覺(jué)得抽象也應(yīng)該算是面向?qū)ο蟮拇筇卣髦?要封裝,抽象是必須的)
簡(jiǎn)單的理解一下多態(tài),比如:
人這個(gè)類(lèi),封裝了很多人類(lèi)共有的特性,
教師是人的子類(lèi),繼承了人的屬性與行為,當(dāng)然教師有自己的特征行為,比如教書(shū)授課;
學(xué)生是人的子類(lèi),繼承了人的屬性與行為,當(dāng)然學(xué)生有自己的特征行為,比如學(xué)習(xí)做作業(yè);
現(xiàn)在,當(dāng)我們需要去描述教師與學(xué)生各自的行為的時(shí)候, 我們可以分開(kāi)來(lái)說(shuō)教師在授課, 學(xué)生做作業(yè), 但如果我們要站在抽象的角度, 也就是從教師與學(xué)生的父類(lèi)人的角度, 來(lái)同時(shí)描述他們各自的行為時(shí),我們?cè)趺疵枋?人在授課?人在做作業(yè)?這是不是怪怪的很不合適?不合適的問(wèn)題就在于, 對(duì)于行為主體,我們使用了抽象層次的東東人,而對(duì)于行為本身, 我們卻使用了具體的東東授課與教書(shū). 怎么解決呢? 那就需要解決抽象與具體的矛盾問(wèn)題.
既然是站在抽象在角度來(lái)描述,那我們把行為抽象一下,不就能同時(shí)描述了嗎?比如人在做事(教師授課與學(xué)生做作業(yè)都可以說(shuō)成人在做事),這樣就解決了抽象層次與具體層次之間的矛盾.
到了這一步, 我們可以把兩個(gè)描述: 教師在做事, 學(xué)生在做事 兩者統(tǒng)一為人在做事,
然后, 我們可以在教師的做事行為中去調(diào)用教師自己的特征行為授課,
在學(xué)生的做事行為中去調(diào)用學(xué)生自己的特征行為做作業(yè),
所以,當(dāng)調(diào)用人去做事的時(shí)候,如果這個(gè)人是教師,那他所做的事實(shí)際上就是教書(shū),
如果這個(gè)人是學(xué)生,那他所做的事實(shí)際上就是做作業(yè).
也就是說(shuō)在這里人是多態(tài)的, 在不同的形態(tài)時(shí),特征行為是不一樣的, 這里的人, 同時(shí)有兩種形態(tài),一種是教師形態(tài),一種是學(xué)生形態(tài),所對(duì)應(yīng)的特征行為分別是授課與做作業(yè).
完成上述的描述過(guò)程, 其實(shí)就是多態(tài)機(jī)制的體現(xiàn).
多態(tài), 就是站在抽象的層面上去實(shí)施一個(gè)統(tǒng)一的行為,到個(gè)體(具體)的層面上時(shí), 這個(gè)統(tǒng)一的行為會(huì)因?yàn)閭€(gè)體(具體)的形態(tài)特征而實(shí)施自己的特征行為.
多態(tài)比起封裝與繼承來(lái)說(shuō)要復(fù)雜很多, 上面的描述很簡(jiǎn)單, 不用去死摳多態(tài)兩個(gè)字,
其實(shí)只要明白:
能站在抽象的角度去描述一件事,
而針對(duì)這件抽象的事, 對(duì)于每個(gè)個(gè)體(具體)又能找到其自身的行為去執(zhí)行, 這就是多態(tài).
權(quán)利和權(quán)力的區(qū)別
權(quán)利和權(quán)力的區(qū)別
權(quán)利與權(quán)力相依存、相互滲透、相互轉(zhuǎn)化,既相統(tǒng)一與平衡,同時(shí)又以各自的特點(diǎn)相互區(qū)別。
首先,行為主體與行為屬性不同。權(quán)力(或職權(quán))與權(quán)利之分,主要是從行為主體上加以區(qū)分。權(quán)利主體一般是公民與法人和其他社會(huì)通緝(國(guó)家機(jī)關(guān)進(jìn)行民事行為時(shí),也是權(quán)利主體)。權(quán)力主體則只能是被授予權(quán)力的國(guó)家機(jī)關(guān)及其特定的工作人員。按其行為屬性來(lái)講,權(quán)利行為一般是民事行為與社會(huì)政治行為;權(quán)力行為則一般是立法行為、行政行為、司法行為等屬于公務(wù)的行為,又稱“職權(quán)”,是一種公共權(quán)力。權(quán)利一般體現(xiàn)個(gè)人或法人等主體的利益;權(quán)力則不體現(xiàn)權(quán)力使用者的個(gè)人利益,而以國(guó)家社會(huì)的公益為目的。所以,權(quán)利與權(quán)力在一定意義上也可以說(shuō)是私與公的區(qū)別。以權(quán)利謀“私”可,以權(quán)力謀私則是非法的。
其次,強(qiáng)制性不同。權(quán)利和權(quán)力都對(duì)相對(duì)人具有強(qiáng)制性。法律上享有權(quán)利的主體可以依法要求相對(duì)人為或不為一定的行為,這也是一種強(qiáng)制性,但它與權(quán)力的強(qiáng)制性不同。權(quán)力具有國(guó)家的直接強(qiáng)制力。權(quán)利則只是以國(guó)家強(qiáng)制力為后盾。當(dāng)權(quán)利不能實(shí)現(xiàn)或遭到侵犯時(shí),權(quán)利人可以請(qǐng)示國(guó)家行使權(quán)力予以保護(hù)或救濟(jì),但權(quán)利人不得自行對(duì)相對(duì)人施以強(qiáng)制力。如不得因?yàn)橛憘辛?、毆打債?wù)人。因此,權(quán)力的強(qiáng)制性是直接的,權(quán)利的強(qiáng)制性則是以權(quán)力為中介,是間接的。
再次,法律地位不同。權(quán)利可由權(quán)利人獨(dú)自享有,可以是一種有特定相對(duì)人的權(quán)利(如債權(quán)),也可以是有一般相對(duì)人的權(quán)利(如財(cái)產(chǎn)所有權(quán))。在存在與這相對(duì)應(yīng)的義務(wù)人的雙邊關(guān)系的條件下,雙方的法律地位是平等的。權(quán)利主體對(duì)其享有的某些權(quán)利還可以轉(zhuǎn)讓或權(quán)力則只存在于與具體相對(duì)人的關(guān)系中。單獨(dú)的主體無(wú)法行使其權(quán)力,因權(quán)力須駐華對(duì)方的服從為條件,是管理與服從關(guān)系。因此,權(quán)力是單向的,自上而下的,雙邊關(guān)系是不平等的。權(quán)力主體對(duì)授予它的權(quán)力都不得放棄或轉(zhuǎn)讓?zhuān)畽?quán)力對(duì)國(guó)家也是一種責(zé)任(職責(zé))既不得怠用、不用,否則就是失職。
