针对抽象编程与对应的好处
简介:针对抽象编程与对应的好处。
代码讲解
下面的代码就是使用抽象编程,我们把基类定义为抽象类,然后了当子类继承的时候,需要重写基类里面的方法,不然会报错。
abstract class Graphics { // 定义一个抽象方法 public abstract double getArea();。 } class Circle extends Graphics{ double r; Circle(double r) { this.r = r; } public double getArea() { return r * r * 3.14; } } class Rectangle extends Graphics { double a,b; Rectangle(double a,double b) { this.a = a; this.b = b; } public double getArea() { return a*b; } }
下面是没有子类没有重写基类的抽象方法。
import java.io.*; import java.util.*; abstract class Graphics { // 定义一个抽象方法 public abstract double getArea();。 } class Circle extends Graphics{ double r; Circle(double r) { this.r = r; } // public double getArea() // { // return r * r * 3.14; // } } class Rectangle extends Graphics { double a,b; Rectangle(double a,double b) { this.a = a; this.b = b; } public double getArea() { return a*b; } } public class Main { public static void main(String[] args) { } }
运行结果
总结
针对抽象编程,可以使得在基类中的方法一定会被子类重写,这样的好处是,可以防止编写代码的时候子类忘记重写父类的某些方法。
同时对于设计者来说面向让类中每种可能的变化对应的交给抽象类的一个子类去负责,从而让类的设计者不再去关心具体的实现,更好的应对用户需求的变化,将某个类中经常因需求变化需要改动的代码分离出去。