JAVA基础(二)面向对象思想

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开发编程中重要的面向对象的思想,有效的降低冗余度,减少重复代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值