1.abstract的部分的確是一個class下 只要有任一個method是abstract
則class也要宣告成abstract
繼承自這個class的subclass就要實做這個abstract的method
如果不實做 則subclass也要宣告成abstract,留給孫子做.
2.polymophic(多型)是為了這樣
public class Shape{
public String print(){
return "This is shape";
}
}
而假設繼承自他的class Circle Triangle Diamon都有override這個method
分別return "This is circle" "This is triangle" "This is diamon"
接下來有一個程式
public class XXX{
public XXX(){
Circle cc=new Circle();
Triangle tt=new Triangle();
printShape(cc);
printShape(tt);
}
public printShape(Shape ss){
System.out.print(ss.print());
}
public static void main(String args){
XXX exe=new XXX();
}
}
這樣子就可以發生多型了
在printshape裡面 不用判斷ss是那一種子class
不用
if(ss instanceof Circle)
else if(ss instanceof Triangle)
程式碼可以變的容易讀 跟 擴充
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.209.46