• 
    

    
    

      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繼承性的探討
      新乡县| 大田县| 临桂县| 青冈县| 广东省| 新巴尔虎右旗| 本溪市| 余江县| 项城市| 城步| 永胜县| 阿克苏市| 澳门| 游戏| 民权县| 广河县| 武功县| 丰宁| 金沙县| 荔波县| 合江县| 兖州市| 石棉县| 临澧县| 湖南省| 内乡县| 巴东县| 韶关市| 舞钢市| 分宜县| 高尔夫| 德阳市| 靖安县| 彩票| 喜德县| 陈巴尔虎旗| 彭阳县| 阳谷县| 宜宾县| 石柱| 巴东县|