接口实现手机功能

简介: 接口实现手机功能

1. 实现思路


2. 编写类及接口


3. 编写测试类、让手机播放音频、发信息和通电话


4. 让智能手机上网、播放视频、照相、发信息和通电话


TheakePictures接口
//照相
 public interface TheakePictures {
      void takePictures();
  }``
NetWork接口
//连接网络
public interface NetWork {
    void netWorkConn();
}
PlayWiring 接口
//播放
public interface PlayWiring {
    void play();
/**
 * 手机抽象类
 */
public abstract  class Handset {
    private  String brand;
    private  String type;
    public abstract void sendInfo();
    public abstract void call();
    public abstract void info();
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public abstract void show();
}
/**
 * 手机抽象类
 */
public abstract  class Handset {
    private  String brand;
    private  String type;
    public abstract void sendInfo();
    public abstract void call();
    public abstract void info();
    public String getBrand() {
        return brand;
    }
    public void setBrand(String brand) {
        this.brand = brand;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public abstract void show();
}
/**
 * 智能手机类
 */
public class AptitudeHandset extends Handset implements NetWork,TheakePictures,PlayWiring{
    @Override
    public void sendInfo() {
        System.out.println(this.getBrand()+this.getType()+"发信息");
    }
    @Override
    public void call() {
        System.out.println(this.getBrand()+this.getType()+"打电话");
    }
    @Override
    public void info() {
        System.out.println(this.getBrand()+this.getType()+"收信息");
    }
    @Override
    public void netWorkConn() {
        System.out.println(this.getBrand()+this.getType()+"上网");
    }
    @Override
    public void play() {
        System.out.println(this.getBrand()+this.getType()+"播放视频");
    }
    @Override
    public void takePictures() {
        System.out.println(this.getBrand()+this.getType()+"照照片");
    }
    public void show(){
        this.netWorkConn();
        this.call();
        this.sendInfo();
        this.takePictures();
        this.play();
    }
}
/**
 * 普通手机类
 */
public class CommonHandset extends Handset implements PlayWiring {
    @Override
    public void sendInfo() {
        System.out.println(this.getBrand()+this.getType()+"手机发信息");
    }
    @Override
    public void call() {
        System.out.println(this.getBrand()+this.getType()+"手机打电话");
    }
    @Override
    public void info() {
        System.out.println(this.getBrand()+this.getType()+"手机收信息");
    }
    @Override
    public void play() {
        System.out.println(this.getBrand()+this.getType()+"手机播放视频");
    }
    @Override
    public void show() {
        this.call();
        this.sendInfo();
        this.play();
    }
}


import java.util.Scanner;
/**
 * 装配手机类
 */
public class Host {
    Scanner sc=new Scanner(System.in);
    int brandId,typeId;//手机品牌 手机型号
    public Handset select(int type){
        Handset handset;
        if(type==1){
            /**
             * 实现智能手机功能
             */
            handset=new AptitudeHandset();
            System.out.println("1、小米 2、华为、 3、苹果");
            System.out.println("请选择手机品牌:");
            brandId=sc.nextInt();
            switch (brandId){
                case 1:
                    //设置手机品牌
                    handset.setBrand("小米");
                    // System.out.println(aptitudeHandset.getBrand());
                    System.out.println("1、红米 2、小米note 3、小米8");
                    System.out.println("请选择小米手机类型");
                    typeId=sc.nextInt();
                    //设置小米手机类型
                    if(typeId==1){
                        handset.setType("红米");
                        }else if (typeId==2){
                                handset.setType("小米note");
                            }else {
                                handset.setType("小米8");
                            }
                break;
                case 2:
                    handset.setBrand("华为");
                    System.out.println("1、荣耀  2、nava  3、华为10");
                    System.out.println("请选择华为手机类型");
                    typeId=sc.nextInt();
                    //设置小米手机类型
                    if(typeId==1){
                         handset.setType("荣耀 ");
                    }else if (typeId==2){
                         handset.setType("nava");
                    }else {
                         handset.setType("华为10");
                          }
                break;
                default:
                    handset.setBrand("苹果");
                    System.out.println("1、iphone7  2、iphoneX  3、iphone9");
                    System.out.println("请选择华为手机类型");
                    typeId=sc.nextInt();
                    //设置小米手机类型
                    if(typeId==1){
                        handset.setType("iphone7 ");
                    }else if (typeId==2){
                        handset.setType("iphoneX");
                    }else {
                        handset.setType("iphone9");
                    }
            break;
            }
        }else{
            /**
             * 实现普通手机功能
             */
            handset=new CommonHandset();
            System.out.println("1、诺基亚 2、金立手机 3、三星");
            System.out.println("请选择普通手机品牌");
            brandId=sc.nextInt();
            switch (brandId){
                case 1:
                    //设置手机品牌
                    handset.setBrand("诺基亚");
                    System.out.println("1、210黑色直板 2、105老人备用机 3、3.1plus移动版");
                    System.out.println("请选择诺基亚手机类型");
                    typeId=sc.nextInt();
                    if (typeId==1){
                        handset.setType("210黑色直板");
                    }else if(typeId==2){
                        handset.setType("105老人备用机");
                    }else {
                        handset.setType("3.1plus移动版");
                    }
                    break;
                case 2:
                    handset.setBrand("金立");
                    System.out.println("1、语音王 2、A350");
                    System.out.println("请选择金立手机类型");
                    typeId=sc.nextInt();
                    if(typeId==1){
                        handset.setType("语音王");
                    }else {
                        handset.setType("A350");
                    }
                    break;
                default:
                    handset.setBrand("三星");
                    System.out.println("1、B289电信 2、E1150老人机");
                    System.out.println("请选择三星手机类型");
                    typeId=sc.nextInt();
                    if(typeId==1){
                        handset.setType("B289电信");
                    }else {
                        handset.setType("E1150老人机");
                    }
                    break;
            }
        }
        return  handset;
    }
}


import java.util.Scanner;
/**
 * 测试类
 */
public class Test {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Host host=new Host();
//        AptitudeHandset aptitudeHandset=new AptitudeHandset();
//        CommonHandset commonHandset=new CommonHandset();
        Handset handset;
        System.out.println("1、智能手机 2、普通手机");
        System.out.println("请选择手机类型:");
        int chiooce=sc.nextInt();
        handset=host.select(chiooce);
        handset.show();
    }
}







目录
相关文章
|
7月前
|
移动开发 JavaScript
H5唤起手机打电话(拨号)和发短信功能
H5唤起手机打电话(拨号)和发短信功能
234 0
|
7月前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
|
7月前
|
安全 Java 数据库连接
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
|
3月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
5月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现(源码+lw+部署文档+讲解等)
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的多功能智能手机阅读APP附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的多功能智能手机阅读APP附带文章源码部署视频讲解等
79 1
|
6月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现
基于SpringBoot+Vue+uniapp的多功能智能手机阅读APP的详细设计和实现
83 12
|
6月前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的多功能智能手机阅读APP附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的多功能智能手机阅读APP附带文章和源代码部署视频讲解等
46 0
|
7月前
|
存储 数据库 Android开发
Android实现手机内存存储功能
Android实现手机内存存储功能
66 2
|
7月前
|
数据挖掘 数据处理 API
使用TransBigData组件实现个人手机定位功能
使用TransBigData组件实现个人手机定位功能
117 0