
好处
1、类调用者对类的使用成本进一步降低。多态只需要知道对象具有某个方法。
封装是让类的调用者不需要知道类的实现细节。
多态能让类的调用者连这个类的类型是什么都不必知道, 只需要知道这个对象具有某个方法即可。
2、可扩展能力更强,如果要新增一种新的形状,使用多态的方式代码改动成本也比较低。
对于类的调用者来说(drawShapes方法), 只要创建一个新类的实例就可以了, 改动成本很低。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | class Cycle {
private String name = "Cycle" ;
public static void travel(Cycle c) {
System.out.println( "Cycle.ride()" + c);
}
public String toString() {
return this .name;
}
}
class Unicycle extends Cycle {
private String name = "Unicycle" ;
public String toString() {
return this .name;
}
}
class Bicycle extends Cycle {
private String name = "Bicycle" ;
public String toString() {
return this .name;
}
}
class Tricycle extends Cycle {
private String name = "Tricycle" ;
public String toString() {
return this .name;
}
}
public class Demo1 {
public static void ride(Cycle c) {
c.travel(c);
}
public static void main(String[] args) {
Unicycle unicycle = new Unicycle();
Bicycle bicycle = new Bicycle();
Tricycle tricycle = new Tricycle();
ride(unicycle);
ride(bicycle);
ride(tricycle);
}
}
|
以上就是java多态的好处,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。