1. 程式人生 > 其它 >面向物件--繼承--繼承的概述

面向物件--繼承--繼承的概述

繼承概述

  • 多個類中存在相同屬性和行為時,將這些內容抽取到單獨一個類中,那麼多個類無需再定義這些屬性和行為,只要繼承那個類即可。
  • 通過extends關鍵字可以實現類與類的繼承

格式:class 子類名 extends 父類名 {}

單獨的這個類稱為父類,基類或者超類;

這多個類可以稱為子類或者派生類。

  • 有了繼承以後,我們定義一個類的時候,可以在一個已經存在的類的基礎上,還可以定義自己的新成員。

程式引例

/*
    學生:
      屬性:姓名,年齡
      行為:學習

    老師:
      屬性:姓名,年齡
      行為:學習

    繼承:
      按照我們之前學習的類的寫法的時候,發現學生類和老師類中的成員大部分內容是一樣
      name和age這兩個成員變數,以及study()方法都是相同的。
      如果我們再繼續定義類,比如醫生,程式設計師,律師等等,他們同樣也都具備了
      這些成員內容,每次寫一個類都要重複寫一遍,感覺很麻煩。

      我們想一想,可不可以把這些相同的內容放到一個獨立的類中,然後,
      讓其他類與這個類產生一個關係,建立好這個關係之後呢,其他類也同樣具備了
      這個獨立的類的一些功能。

      為了實現這樣的技術,java提供了一個技術:繼承

      父親:
        兒子

      用程式碼如何去表示繼承,編寫程式碼的格式是什麼樣子呢?
            
      格式:class 子類名 extends 父類名 {}

      案例1:
        class Fu{}

        class Zi extends Fu{}

     案例2:
        class Student{}
        class Teacher{}

       改進後:
        class Person{}

        class Student extends Person{}

        class Teacher extends Person{}

*/

class Person{
  String name;
  int age;

  //構造方法
  //getXxx(),setXxx()

  public void study(){
    System.out.println("學習");
  }
}

class Student extends Person{
//有了繼承以後,我們定義一個類的時候,可以在一個已經存在的類的基礎上,還可以定義自己的新成員。
  String id;

  public void coding(){
    System.out.println("敲程式碼");
  }
}

class Teacher extends Person{

}

class Doctor extends Person{

}


public class ExtendsDemo1 {
  public static void main(String[] args) {
    //建立一個學生物件
    Student s = new Student();
    s.study();
  }
}