Java OOP 思想解析

因?yàn)橛兄荒臧氲膇OS開發(fā)經(jīng)驗(yàn)(OC也是一門面向?qū)ο蟮恼Z言)所以在對(duì)Java的面向?qū)ο蟮睦斫馍弦彩怯兄约旱睦斫猓裉炀秃痛蠹曳窒硪幌隆?/p>

面向?qū)ο笾凶顬橹匾娜笏枷刖褪牵豪^承盈滴、封裝逃魄、多態(tài)川无。本文將以一個(gè)實(shí)例場(chǎng)景來分析Java中的OOP【苎祝現(xiàn)有一個(gè)場(chǎng)景:學(xué)校人員管理孤钦。

首先分析出此場(chǎng)景所包含的角色類別:學(xué)生悦昵,老師肴茄,校長(zhǎng)。那么我們可以為每個(gè)角色類別創(chuàng)建對(duì)應(yīng)的類(具體相同特征或者行為的一種抽象)但指。學(xué)生(Student)寡痰、老師(Teacher)、校長(zhǎng)(Headermaster)現(xiàn)在我們可以來分析一下這些類有沒有一些共同的屬性比如:姓名(name)棋凳、年齡(age)拦坠、性別(sex)等,因此我們就可以采用繼承的思想剩岳,創(chuàng)建一個(gè)基類贞滨,讓其他的類都繼承這個(gè)基類(Person類),把共同的屬性和方法就寫在這個(gè)基類里面拍棕,其子類自動(dòng)地共享基類中成員屬性和成員方法晓铆。對(duì)應(yīng)的目錄如下


目錄

在基類的基礎(chǔ)上,我們可以為每個(gè)類增加自己特有的屬性和方法绰播。

我們以Person類和Student類還有Teacher類來分析封裝和多態(tài)的概念

1.Person類

person類(省略set骄噪、get方法)

2.Student類

student類

3.Teacher類


teacher類

4.測(cè)試方法

public static void main(String[] args) {

Person person = new Student("xiaoming", "male", 12);

person.roleDescribe();

// person.scoreDescribe(); // 錯(cuò)誤

Person teacher = new Teacher("MSWang", "female", 43);

teacher.roleDescribe();

Student xiaodong = new Student("xiaodong", "male", 13);

xiaodong.roleDescribe();

xiaodong.setScore(95.6);

xiaodong.scoreDescribe();

}

運(yùn)行結(jié)果:

i am a student

i am a teacher

i am a student

i get 95.6!!

我們來分析一下:

多態(tài):通過基類(Person)去創(chuàng)建子類(Student、Teacher)的對(duì)象幅垮,并且調(diào)用一個(gè)同名的方法roleDescribe()腰池。由于子類中都覆蓋了此方法所以此方法的效果會(huì)有多種形態(tài),此過程便是多態(tài)忙芒。

封裝:封裝就是把數(shù)據(jù)和過程封裝起來示弓,對(duì)數(shù)據(jù)的訪問只能通過已經(jīng)定義的接口。在Java中可以通過public\private\protected 來實(shí)現(xiàn)封裝呵萨。比如:Person類的name,age,sex都是私有屬性奏属,這是對(duì)屬性的封裝。對(duì)外界提供方法的封裝潮峦,可以通過提供的方法對(duì)name囱皿,age勇婴,sex進(jìn)行設(shè)置和獲取。

但是看看Teacher類可以發(fā)現(xiàn)并沒有提供薪水的(salary)的get方法嘱腥,那是因?yàn)槔蠋煵幌氡黄渌酥浪墓べY耕渴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市齿兔,隨后出現(xiàn)的幾起案子橱脸,更是在濱河造成了極大的恐慌,老刑警劉巖分苇,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件添诉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡医寿,警方通過查閱死者的電腦和手機(jī)栏赴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來靖秩,“玉大人须眷,你說我怎么就攤上這事∨璩ィ” “怎么了柒爸?”我有些...
    開封第一講書人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)事扭。 經(jīng)常有香客問我捎稚,道長(zhǎng),這世上最難降的妖魔是什么求橄? 我笑而不...
    開封第一講書人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任今野,我火速辦了婚禮,結(jié)果婚禮上罐农,老公的妹妹穿的比我還像新娘条霜。我一直安慰自己,他們只是感情好涵亏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開白布宰睡。 她就那樣靜靜地躺著,像睡著了一般气筋。 火紅的嫁衣襯著肌膚如雪拆内。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評(píng)論 1 290
  • 那天宠默,我揣著相機(jī)與錄音麸恍,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛抹沪,可吹牛的內(nèi)容都是我干的刻肄。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼融欧,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼敏弃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起噪馏,我...
    開封第一講書人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤权她,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后逝薪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝴罪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年董济,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片要门。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虏肾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出欢搜,到底是詐尸還是另有隱情封豪,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布炒瘟,位于F島的核電站吹埠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏疮装。R本人自食惡果不足惜缘琅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望廓推。 院中可真熱鬧刷袍,春花似錦、人聲如沸樊展。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽专缠。三九已至雷酪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間藤肢,已是汗流浹背太闺。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嘁圈,地道東北人省骂。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓蟀淮,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親钞澳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子怠惶,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法轧粟,內(nèi)部類的語法策治,繼承相關(guān)的語法,異常的語法兰吟,線程的語...
    子非魚_t_閱讀 31,598評(píng)論 18 399
  • 2014年的蘋果全球開發(fā)者大會(huì)(WWDC)通惫,當(dāng)Craig Federighi向全世界宣布“We have new ...
    yeshenlong520閱讀 2,274評(píng)論 0 9
  • 要點(diǎn): 函數(shù)式編程:注意不是“函數(shù)編程”,多了一個(gè)“式” 模塊:如何使用模塊 面向?qū)ο缶幊蹋好嫦驅(qū)ο蟮母拍罨彀傩浴?..
    victorsungo閱讀 1,476評(píng)論 0 6
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,805評(píng)論 0 11
  • 今天應(yīng)該開始第三遍閱讀,但我沒有急于開始讀晚吞。最近延旧,我將這本書時(shí)刻帶在身邊,今天也是槽地,看著他好幾次迁沫,腦子里在想: 1...
    追追風(fēng)的冰閱讀 269評(píng)論 0 1