數通-鏈路聚合
阿新 • • 發佈:2022-03-20
格式:
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 publicvoid 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 }