JAVA是一门面向对象的语言,面向对象自然是开发中的主要核心,然而到底面向对象的思想是什么呢?如何去理解呢,这里从一个小例子出发来解释一下面向对象的思想。
假如有一个人,他得家里有两台打印机,一个HP,一个Canon,两个都有开机、打印、关机的功能,而Canon关机之前有清除功能,问题来了,那么如何实现?
也许我们第一反应是写一个HP类和Canon类,,各自实现自己的功能,然后再写一个实现类调用就好。
然而问题就来了,如果有一百种打印机,那每个类都要写大量重复的代码,那是一种多么费时的解决方式。
所以在面向对象的思想中,我们需要这样解决问题:
新建一个Printer类,写上所有相同的功能:
public class Printer {
public void open() {
System.out.println("--open");
}
public void print() {
System.out.println("--print");
}
public void close() {
System.out.println("--close");
}
}
然后HP类直接继承就好,而Canon中close前有clean,所以我们可以在Canon中继承Printer后直接复写就好:
public class Canon extends Printer {
@Override
public void close() {
this.clean();
super.close();
}
public void clean(){
System.out.println("--clean");
}
}
最后直接在实现类中调用各个子类的open、print、close方法就好。
很简单的一个小程序,但传递的时JAVA开发编程中重要的面向对象的思想,有效的降低冗余度,减少重复代码。