java练习20--接口练习

本文介绍了如何使用面向对象编程技术,通过抽象类Appliance和接口Sockets,设计出可扩展的家用电器模型。子类TV和Conditioner继承抽象类并实现特定功能,如通电、开启/关闭和特殊操作(如看电视、制冷)。
摘要由CSDN通过智能技术生成

一、问题:

使用代码描述:  
    我们平时的家用电器,都需要通电,然后开启,或者关闭,而且每个家用电器都有自己特殊的功能,比如:
    电视,除了通电之后的开启和关闭,还有播放电视剧的功能
    空调,除了通电之后的开启和关闭,还有制冷的功能


二、思路

    1、在父类家用电器中(Appliance)定义开启(Open)和关闭(Close)的功能,将其定义为抽象方法。

    2、接口(Sockets)中定义通电(tongDian)。

    3、子类电视(TV)、空调(Conditioner)继承父类的方法,并对父类的方法进行重写。

    4、定义测试类,创建两个子类的对象,并调用重写的方法。

三、代码展示与注释

package com.edu.manager;

// 家电抽象类
public abstract class Appliance {
    // 打开家电
    void Open(){}
    // 关闭家电
    void Close(){}
}

// 插座接口
public interface Sockets {
    // 通电
    void tongDian();
}

// 电视类,继承自家电抽象类,实现插座接口
public class TV extends Appliance implements Sockets {
    String tvName;

    // 构造方法
    public TV(String tvName){
        this.tvName=tvName;
    }

    // 打开电视
    public void Open(){
        System.out.println("电视机打开");
    }

    // 关闭电视
    public void Close(){
        System.out.println("电视机关闭");
    }

    // 通电方法实现
    public void tongDian(){
        System.out.println("给"+tvName+"通电");
    }

    // 观看电影方法
    public void See(){
        System.out.println("我要看电影!");
    }
}

// 空调类,继承自家电抽象类,实现插座接口
public class Conditioner extends Appliance implements Sockets {
    String conditionerName;

    // 构造方法
    public Conditioner(String conditionerName){
        this.conditionerName=conditionerName;
    }

    // 打开空调
    public void Open(){
        System.out.println("打开空调");
    }

    // 关闭空调
    public void Close(){
        System.out.println("关闭空调");
    }

    // 通电方法实现
    public void tongDian(){
        System.out.println("给"+conditionerName+"通电");
    }

    // 产生冷风方法
    public void feel(){
        System.out.println("冷风");
    }
}

// 家电管理类
public class ApplianceManagement {
    public static void main(String[] args) {
        // 创建电视对象和空调对象
        Appliance xMi=new TV("小米电视机");
        Appliance meiDi=new Conditioner("美的空调");
        
        // 调用电视对象的方法
        ((TV) xMi).tongDian();
        xMi.Open();
        ((TV) xMi).See();
        xMi.Close();
        
        // 调用空调对象的方法
        ((Conditioner) meiDi).tongDian();
        meiDi.Open();
        ((Conditioner) meiDi).feel();
        meiDi.Close();
    }
}

运行结果为:

给小米电视机通电
电视机打开
我要看电影!
电视机关闭
给美的空调通电
打开空调
冷风
关闭空调

Process finished with exit code 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值