作者neigence (心夜)
站内java
标题Re: [问题] abstract 的宣告与 polymorphic 新手问题
时间Mon Apr 23 21:28:53 2007
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