• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Java類的繼承

    2017-07-25 10:55劉妍東
    科教導(dǎo)刊·電子版 2017年17期
    關(guān)鍵詞:子類繼承

    劉妍東

    摘 要 “繼承”是面向?qū)ο筌浖夹g(shù)當(dāng)中的一個(gè)概念。如果一個(gè)類A繼承自另一個(gè)類B,就把這個(gè)A稱為“B的子類”,而把B稱為“A的父類”。繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的代碼。在令子類繼承父類的同時(shí),可以重新定義某些屬性,并重寫某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。另外,為子類追加新的屬性和方法也是常見的做法。

    關(guān)鍵詞 繼承 java類 父類 子類

    1知識(shí)引入

    生活中繼承的例子隨處可見,如,父親和兒子就是一種繼承關(guān)系,父親擁有房屋、股票、存款等財(cái)產(chǎn),兒子可以繼承這些財(cái)產(chǎn)并在此基礎(chǔ)上擁有的自己的財(cái)產(chǎn)。如,車有車輪數(shù)、顏色、生產(chǎn)商等特性,自行車、小轎車、貨車等可以繼承這些特性,在此基礎(chǔ)上也可以擁有自己的特性。

    2抽象

    我們已經(jīng)學(xué)習(xí)過類的設(shè)計(jì),在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,也可以采用繼承的機(jī)制來組織、設(shè)計(jì)系統(tǒng)中的類,可以使得程序結(jié)構(gòu)清晰、降低編碼和維護(hù)的工作量,提高程序開發(fā)的效率。

    下面我們以設(shè)計(jì)具體的類為例,來引入繼承的機(jī)制,如,某個(gè)培訓(xùn)機(jī)構(gòu)需要一個(gè)“管理系統(tǒng)”來管理所有的人員,人員包括學(xué)生、教師、員工等,這需要我們建立3個(gè)類,學(xué)生類、教師類和員工類。

    首先,學(xué)生類應(yīng)該有:學(xué)號(hào)、姓名、性別、年齡、成績等屬性,選課等行為。教師類應(yīng)該有:教師編號(hào)、姓名、性別、年齡、工資等屬性,授課等行為。員工類應(yīng)該有:員工編號(hào)、姓名、性別、年齡、崗位等屬性,管理等行為。其中,3個(gè)類中都含有姓名、性別、年齡屬性,代碼出現(xiàn)了重復(fù)。有沒有精簡代碼的好方法呢?

    下面,我們通過java里面繼承的機(jī)制來解決代碼重復(fù)的問題。在java中我們把重復(fù)的屬性抽象出來定義成一個(gè)父類。可以在父類基礎(chǔ)上衍生出子類。

    3代碼實(shí)現(xiàn)

    我們可以先定義一個(gè)父類Person類,把學(xué)生類、教師類、員工類的共同屬性,姓名、性別、年齡放在Person類中。給每個(gè)屬性合適的數(shù)據(jù)類型和名稱。這樣的話, 學(xué)生類、教師類、員工類就可以定義為Person類的子類來繼承上述成員。

    class Person{String name;String sex;ing age}

    我們定義一個(gè)子類學(xué)生類Student繼承Person類,extends是描述繼承關(guān)系的關(guān)鍵字。這樣子類就擁有了父類所有的成員變量和方法,除此之外它可以定義自己的特性和行為,如學(xué)號(hào)、成績、選課。

    public class Student extends Person{String stuNo;double grade;void elecCourse;

    System.out.println("調(diào)用選課系統(tǒng)");}

    同樣,定義子類教師類Teacher繼承Person類,Teacher類也擁有了Person類的成員。再定義自己的特性,教師編號(hào)、工資、授課等。這樣子類即擁有了父類Person所有的成員,也擁有了自己的所有特性了。子類員工類Employee也可以使用同樣的方法繼承Person類。

    public class Teacher extends Person{String teaNo;double salary;void teaching{System.out.println("調(diào)用授課系統(tǒng)");}

    下面,我們通過對(duì)象驗(yàn)證一下吧。首先生成Student類的對(duì)象stu。Student類通過繼承,擁有了Person類的所有成員,所以,我們也可以通過stu對(duì)象調(diào)用繼承下來的name成員變量,賦值為“王芳”,調(diào)用繼承下來的sex成員變量,賦值為“女”,也可以調(diào)用繼承下來age成員變量,賦值為18。同樣可以調(diào)用本類定義的stuNo學(xué)號(hào)成員變量,賦值為“142212401”,grade成績成員變量,賦值為“80”,再調(diào)用本類定義的選課方法。最后通過輸出語句,顯示這個(gè)對(duì)象的所有屬性值。運(yùn)行結(jié)果包括:選課方法、姓名、性別、年齡、學(xué)號(hào)、成績。

    public class Test {public static void main(String[ ] args) {Student stu=new Student;stu.name=王芳;stu.sex=女;stu.age=18;stu.stuNo="142212401";stu.grade=80;stu.elecCourse;System.out.println("姓名:+stu.name+",性別:stu.sex+",年齡:"+stu.age+",學(xué)號(hào):"+stu.stuNo+",成績:"+stu.grade);}

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

    調(diào)用選課系統(tǒng)

    姓名:王芳,性別:女,年齡:18,學(xué)號(hào):142212401,成績:80.0

    我們?cè)偕蒚eacher類的對(duì)象tea。調(diào)用從Person類繼承下來的name,sex,age,然后調(diào)用本類自身的成員變量teaNo,salary,調(diào)用授課方法teaching。

    加上輸出語句,顯示對(duì)象所有屬性。

    通過結(jié)果我們同樣可以看到,姓名、性別、年齡等都是在父類Person類中定義的成員變量,通過繼承的方式,可以使子類也擁有父類的成員,同樣子類也可以根據(jù)需要定義自己的成員。

    4總結(jié)

    從以上例子中,我們可以看出,繼承是類之間的一種關(guān)系,通過繼承,可以在已經(jīng)存在的類的基礎(chǔ)上,進(jìn)行擴(kuò)展,從而產(chǎn)生新的類。由繼承而得到的類稱為子類,被繼承的類稱為父類(或超類)。子類繼承父類的屬性和行為,并根據(jù)需要增加自己新的屬性和行為。

    繼承,是不是很好理解。大家試試設(shè)計(jì)一下員工子類,讓我們的系統(tǒng)更加完整吧。

    猜你喜歡
    子類繼承
    卷入Hohlov算子的某解析雙單葉函數(shù)子類的系數(shù)估計(jì)
    關(guān)于對(duì)稱共軛點(diǎn)的倒星象函數(shù)某些子類的系數(shù)估計(jì)
    面向?qū)ο蟮亩喟姹緜鞲衅饔^測(cè)服務(wù)模式匹配方法
    魯迅小說對(duì)傳統(tǒng)文學(xué)藝術(shù)的繼承和創(chuàng)新
    淺談杜審言、杜甫的祖孫關(guān)系:推崇、繼承、發(fā)展
    塊H矩陣新的子類
    關(guān)于Java繼承性的探討
    龙川县| 宁化县| 成安县| 思南县| 镇江市| 兴安盟| 普兰店市| 辉县市| 嵊州市| 金堂县| 眉山市| 屯留县| 濮阳市| 泸定县| 揭西县| 获嘉县| 仁寿县| 开封县| 钟祥市| 贡觉县| 临清市| 湟源县| 永平县| 孙吴县| 张掖市| 泰来县| 大姚县| 霍城县| 西安市| 东乡县| 昭觉县| 太仓市| 瑞安市| 济南市| 三门峡市| 元谋县| 东乌珠穆沁旗| 长武县| 连南| 仁怀市| 仪征市|