|--需求说明
|--实现思路
1.根据....is......a....就是继承的逻辑,确定所有的手机都有一个手机的父类,这个父类定义为抽象类,里面定义两个抽象方法 实现打电话和发信息
2.根据....has....a....就用接口的逻辑,确定需要四个类---相机接口、移动网络接口、音频播放接口、视频播放接口
3.分别创建索尼和HTC手机类,继承手机类,按照需求分别接入接口
|--代码内容
1 /** 2 * @auther::9527 3 * @Description: 定义手机本身的功能,这个类是后来手机的父类 4 * @program: oop 5 * @create: 2019-07-16 22:54 6 */ 7 public abstract class Phones { 8 //打电话 9 public abstract void call(); 10 //发短信11 public abstract void text();12 //手机型号13 public abstract void type();14 }
父类---Phones
1 /** 2 * @auther::9527 3 * @Description: 移动网络 4 * @program: oop 5 * @create: 2019-07-16 23:08 6 */ 7 public interface Mobil { 8 //网络 9 void wangLuo();10 }
接口--移动网络
1 /** 2 * @auther::9527 3 * @Description: 实现拍照功能 4 * @program: oop 5 * @create: 2019-07-16 23:01 6 */ 7 public interface Camera { 8 //拍照 9 void camera();10 }
接口--相机
1 /** 2 * @auther::9527 3 * @Description: 播放音频 4 * @program: oop 5 * @create: 2019-07-16 22:59 6 */ 7 public interface PlayMp3 { 8 //播放音频 9 void playMp3();10 }
接口--音频
1 /** 2 * @auther::9527 3 * @Description: 播放视频 4 * @program: oop 5 * @create: 2019-07-16 22:57 6 */ 7 public interface PlayMp4 { 8 //播放视频 9 void playMp4();10 }
接口--播放视频
1 /** 2 * @auther::9527 3 * @Description: HTC手机 4 * @program: oop 5 * @create: 2019-07-16 23:02 6 */ 7 public class HTCI1900 extends Phones implements PlayMp4,PlayMp3,Camera,Mobil{ 8 9 10 @Override11 public void type() {12 System.out.println("这是一部HTC的I9100手机");13 }14 15 @Override16 public void camera() {17 System.out.println("咔嚓,拍照成功");18 }19 20 @Override21 public void call() {22 System.out.println("开始视频通话");23 }24 25 @Override26 public void text() {27 System.out.println("发送带图片的文字");28 }29 30 @Override31 public void playMp3() {32 System.out.println("播放《今天是个好日子》");33 }34 35 @Override36 public void playMp4() {37 System.out.println("开始播放《小时代》");38 }39 40 @Override41 public void wangLuo() {42 System.out.println("接入移动网络");43 }44 }
手机----索尼
1 /** 2 * @auther::9527 3 * @Description: G520C手机 4 * @program: oop 5 * @create: 2019-07-16 22:56 6 */ 7 public class PhoneG520C extends Phones implements PlayMp3 { 8 @Override 9 public void call() {10 System.out.println("开始语音通话");11 }12 13 @Override14 public void text() {15 System.out.println("发送文字信息");16 }17 18 @Override19 public void type() {20 System.out.println("这是一款型号为G502C的索尼手机");21 }22 23 @Override24 public void playMp3() {25 System.out.println("开始播放音乐《凉凉》");26 }27 }
手机--HTC
1 /** 2 * @auther::9527 3 * @Description: 测试类 4 * @program: oop 5 * @create: 2019-07-16 23:10 6 */ 7 public class PhoneMgr { 8 public static void main(String[] args) { 9 //实现索尼手机10 PhoneG520C suoni = new PhoneG520C();11 suoni.type();12 suoni.playMp3();13 suoni.text();14 suoni.call();15 16 System.out.println("\n");17 18 //实现HTC手机19 HTCI1900 htc = new HTCI1900();20 htc.type();21 htc.wangLuo();22 htc.playMp4();23 htc.camera();24 htc.text();25 htc.call();26 }27 28 }
测试类--实现手机
|--运行结果
|--过程错误
无