1. 程式人生 > 其它 >CTex知識小總結

CTex知識小總結

格式:

class 父類 {
}
 
class 子類 extends 父類 {
}

為什麼需要繼承

接下來我們通過例項來說明這個需求。

開發動物類,其中動物分別為企鵝以及老鼠,要求如下:

  • 企鵝:屬性(姓名,id),方法(吃,睡,自我介紹)
  • 老鼠:屬性(姓名,id),方法(吃,睡,自我介紹)

企鵝類:

 1 public class Penguin { 
 2     private String name; 
 3     private int id; 
 4     public Penguin(String myName, int  myid) { 
 5         name = myName; 
6 id = myid; 7 } 8 public void eat(){ 9 System.out.println(name+"正在吃"); 10 } 11 public void sleep(){ 12 System.out.println(name+"正在睡"); 13 } 14 public void introduction() { 15 System.out.println("大家好!我是" + id + "號" + name + ".");
16 } 17 }

 

老鼠類:

 1 public class Mouse { 
 2     private String name; 
 3     private int id; 
 4     public Mouse(String myName, int  myid) { 
 5         name = myName; 
 6         id = myid; 
 7     } 
 8     public void eat(){ 
 9         System.out.println(name+"正在吃"); 
10     }
11     public
void sleep(){ 12 System.out.println(name+"正在睡"); 13 } 14 public void introduction() { 15 System.out.println("大家好!我是" + id + "號" + name + "."); 16 } 17 }

從這兩段程式碼可以看出來,程式碼存在重複了,導致後果就是程式碼量大且臃腫,而且維護性不高(維護性主要是後期需要修改的時候,就需要修改很多的程式碼,容易出錯),所以要從根本上解決這兩段程式碼的問題,就需要繼承,將兩段程式碼中相同的部分提取出來組成 一個父類:

公共父類:

 1 public class Animal { 
 2     private String name;  
 3     private int id; 
 4     public Animal(String myName, int myid) { 
 5         name = myName; 
 6         id = myid;
 7     } 
 8     public void eat(){ 
 9         System.out.println(name+"正在吃"); 
10     }
11     public void sleep(){
12         System.out.println(name+"正在睡");
13     }
14     public void introduction() { 
15         System.out.println("大家好!我是"         + id + "號" + name + "."); 
16     } 
17 }

這個Animal類就可以作為一個父類,然後企鵝類和老鼠類繼承這個類之後,就具有父類當中的屬性和方法,子類就不會存在重複的程式碼,維護性也提高,程式碼也更加簡潔,提高程式碼的複用性(複用性主要是可以多次使用,不用再多次寫同樣的程式碼) 繼承之後的程式碼:

企鵝類:

1 public class Penguin extends Animal { 
2     public Penguin(String myName, int myid) { 
3         super(myName, myid); 
4     } 
5 }

老鼠類:

1 public class Mouse extends Animal { 
2     public Mouse(String myName, int myid) { 
3         super(myName, myid); 
4     } 
5 }