3278 7840

          1100111010001110 1001010010001010

          繼承

          “繼承”(Inheritance)是面向對象軟件技術當中的一個概念,例如在java語言中,java語言中不支持多重繼承,是通過接口實現多重繼承的功能。如果一個類A繼承自另一個類B,就把這個A稱為"B的子類",而把B稱為"A的父類"。繼承可以使得子類具有父類的各種屬性和方法,而不需要再次編寫相同的代碼。在令子類繼承父類的同時,可以重新定義某些屬性,并重寫某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。盡管子類包括父類的所有成員,它不能訪問父類中被聲明成private 的成員 ...

            繼承是指一個對象直接使用另一對象的屬性和方法。事實上,我們遇到的很多實體都有繼承的含義。例如,若把汽車看成一個實體,它可以分成多個子實體,如:卡車、公共汽車等。這些子實體都具有汽車的特性,因此,汽車是它們的"父親",而這些子實體則是汽車的"孩子"。

            繼承的目的:實現代碼重用

            派生類聲明:

            class 派生類名:繼承方式 基類名

            {

            新增成員聲明;

            };

            三種繼承方式

            公有繼承 public (原封不動)

            保護繼承 protected (折中)

            私有繼承 private (化公為私)

            繼承方式影響子類的訪問權限:

            派生類成員對基類成員的訪問權限

            通過派生類對象對基類成員的訪問權限

            同類事物具有共同性,在同類事物中,每個事物又具有其特殊性。運用抽象的原則舍棄對象的特殊性,抽取其共同性,則得到一個適應于一批對象的類,這便是基類(父類),而把具有特殊性的類稱為派生類(子類),派生類的對象擁有其基類的全部或部分屬性與方法,稱作派生類對基類的繼承。

            1、我們先建立基類BaseClass.class,然后再從該類派生新類InherienceTest,展示從基類派生的方法(Methord)及基類構造函數的執行。

            package InherienceTest.BaseClass;//package 后能被繼承,不過不能執行

            public class BaseClass

            {

            public BaseClass(){

            System.out.println("I’m the Constructor Function in BaseClass!");

            }

            protected static void FuncTest(){

            System.out.println("This is a Function Test in BaseClass!");//Static Methord

            }

            public static void main(String[] args){

            FuncTest();

            System.out.println("This is the BaseClass!");

            System.out.println(new java.util.Date());

            }

            };

            import InherienceTest.BaseClass.BaseClass;//相當于路徑:path & InherienceTest\BaseClass\BaseClass.class

            public class

            InherienceTest extends BaseClass//注意:public主類名必須和文件名相同

            {

            //基類不能和派生類在同一目錄下面。

            public static void main(String[] args)

            //main函數必須是pulic static

            {

            InherienceTest xx=new InherienceTest();//構造函數被執行

            xx.FuncTest();

            //調用繼承的方法

            System.out.println("Hello World!");

            }

            }

          posted on 2009-06-15 20:56 逍遙晨空 閱讀(131) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 思南县| 安岳县| 曲阳县| 寻乌县| 新龙县| 萝北县| 桓仁| 民勤县| 赞皇县| 温泉县| 普兰县| 鄢陵县| 鹤壁市| 上犹县| 静宁县| 宜城市| 鄂伦春自治旗| 和平区| 墨竹工卡县| 广平县| 张家界市| 九台市| 阳东县| 武安市| 浦城县| 雷州市| 边坝县| 台湾省| 衡水市| 海兴县| 依兰县| 诏安县| 高要市| 嘉祥县| 湖口县| 巴里| 石河子市| 荃湾区| 中宁县| 连州市| 鄂尔多斯市|