当前位置: 首页 > article >正文

PTA-6-46 手机接口-适配器模式

题目:

        用适配器模式编写程序代码。设计一个接口Phone,包含五个抽象方法:dial ()、location()、photo()、music()、video(),分别表示拨号、定位、拍照、音乐、视频功能。定义一个抽象类实现接口所有方法,以及定义两个子类继承此抽象类。具体要求如下。

已有的接口定义如下:

interface Phone{
    void dial ();
    void location();
    void photo();
    void music();
    void video();
}

需要编写抽象类PhoneAdapter:

定义一个抽象类PhoneAdapter实现接口Phone,在此类中覆写接口中所有抽象方法。

需要编写两个子类:

(1) 定义一个子类OldPhone直接继承抽象类PhoneAdapter,有选择的实现dial ()、location()方法。

(2) 定义一个子类HuawPhone直接继承抽象类PhoneAdapter,有选择的实现dial ()、photo()、music()、video()方法。

已有的Main类定义

/* 请在这里填写答案 */

public class Main{
    public static void main(String[] args) {
        print(new OldPhone());
        print(new HuawPhone());
    }
    public static void print(Phone p) {
        p.dial();
        p.location();
        p.photo();
        p.music();
        p.video();
    }
}

根据题目要求,代码实现如下:


abstract class PhoneAdapter implements Phone{
	@Override
	public void dial() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void location() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void photo() {
		// TODO Auto-generated method stub
		
	}
	@Override
	public void music() {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void video() {
		// TODO Auto-generated method stub
		
	}
}

class OldPhone extends PhoneAdapter {
	public void dial() {
		System.out.println("老人机拨打电话。");
	}
	public void location() {
		System.out.println("老人机定位。");
	}
}

class HuawPhone extends PhoneAdapter {
	public void dial() {
		System.out.println("华为手机拨打电话。");
	}
	public void photo() {
		System.out.println("华为手机拍照。");
	}
	public void music() {
		System.out.println("华为手机播放音乐。");
	}
	public void video() {
		System.out.println("华为手机播放视频。");
	}
}

以上就是  PTA-6-46 手机接口-适配器模式  的全部内容了,希望能对你有所帮助!


http://www.kler.cn/a/152549.html

相关文章:

  • 如何计算数据泄露的成本
  • python使用sox对指定路径下的音频进行重采样
  • 【Java】集合 之 使用 Map
  • 新时代物联网区块链如何链接底层商业?传统商家如何利用区块链实现转型?
  • python执行shell
  • ClassNotFoundException: org.apache.hive.spark.client.Job
  • 读取ini配置文件----c++
  • arm-eabi-gcc 和 arm-none-eabi-gcc 都是基于 GCC 的交叉编译器
  • 【android开发-01】android中toast的用法介绍
  • web项目添加防调试
  • 腾讯云年末感恩回馈:2核2G4M云服务器118元1年,新老用户同享!
  • Node——npm包管理器的使用
  • C语言-指针讲解(4)
  • 记一次Kotlin Visibility Modifiers引发的问题
  • 【EasyExcel】导出excel并支持自定义设置数据行背景颜色等
  • 【ASP.NET CORE】EntityFrameworkCore 数据迁移
  • 键盘打字盲打练习系列之刻意练习——1
  • ssm+java车辆售后维护系统 springboot汽车保养养护管理系统+jsp
  • 不会代码(零基础)学语音开发(学习工具)
  • 物联网实训室虚拟仿真软件建设方案