为什么我们使用抽象

Umair:

我知道什么是抽象,但是我想知道使用它的目的是什么,如果我们必须实现所有功能,为什么不仅仅编写它们呢?

interface Moveable{
     public void move();
}
class Human implements Moveable{
    public void move(){
          System.out.println("walk");
    }

 }

 //or just write (why use abstraction)

class Human{
    public void move(){
          System.out.println("walk");
    }

}
GhostCat:

有用的抽象用于控制复杂性。

如果没有这种有用的抽象,那么您的第一堂课的前5行会更容易编写。但是在现实世界中,任何有价值的东西都会随着时间增长。用户需要其他功能,出现错误并需要修复等。

当您不准备为接下来的500行代码做准备时,在下一课中,那么该代码将迅速变成维护方面的噩梦。

换句话说:现实世界太复杂了,无法在代码中完全表示出来。因此,您必须预见到应用程序中至关重要的基本“模式”,并找到以更简洁的方式表达它们的方法。

是的,在您的示例中,只有一个类实现了该接口。但是,如果您有50堂课或100堂课怎么办?然后,您的客户端代码将必须知道Human,Cat,Dog,Snake等所有这些类都有一个move()方法。那真的是简单的比能检查“不类实现接口Moveable?!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章