java源文件分享地址:
鏈接:https://pan.baidu.com/s/1ydG2Vv9TmXKXqaD-hLw2PA
提取碼:xwtc
復制這段內容后打開百度網盤手機App,操作更方便哦
作業一、接口實現手機
原始的手機,可以發短信,通電話。隨着發展,手機增加了功能:音頻、視頻播放、拍照、上網。使用接口實現手機功能;
首先創建手機父類:
package com.phone.jiekou; public abstract class HandSet { private String brand; private String type; public HandSet() {} public HandSet(String brand,String type) { this.brand = brand; this.type = type; } 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 message(); public abstract void call(); }
創建手機功能接口:
1、上網功能接口:
package com.phone.jiekou; public interface Network { public void net(); }
2、拍照功能接口:
package com.phone.jiekou; public interface Photo { public void takePhoto(); }
3、播放視頻功能接口:
package com.phone.jiekou; public interface Play { public void play(String film); }
4、播放音頻功能接口:
package com.phone.jiekou; public interface Music { public void boFang(String music); }
創建普通手機類要求擁有播放音頻功能:
package com.phone.jiekou; public class CommonPhone extends HandSet implements Music{ public CommonPhone() { } public CommonPhone(String brand,String type) { super(brand,type); } public void showInfo() { System.out.println("手機信息及功能介紹:"); System.out.println("這是一部"+this.getBrand()+"的手機,型號是"+this.getType()); } public void message() { System.out.println("發送短信!"); } public void call() { System.out.println("撥打電話!"); } public void boFang(String music) { System.out.println("可以播放"+music+"!"); } }
創建智能手機類要求擁有上網功能、拍照功能、播放視頻功能
package com.phone.jiekou; public class SmartPhone extends HandSet implements Network, Photo, Play { public SmartPhone() {} public SmartPhone(String brand,String type) { super(brand,type); } public void showInfo() { System.out.println("手機信息及功能介紹:"); System.out.println("這是一部"+this.getBrand()+"的手機,型號是"+this.getType()); } public void play(String film) { System.out.println("播放電影"+film); } public void takePhoto() { System.out.println("拍照功能"); } public void net() { System.out.println("上網功能"); } public void message() { System.out.println("發送短信"); } public void call() { System.out.println("撥打電話"); } }
編寫測試類:
package com.phone.jiekou; public class TestPhone { public static void main(String[] args) { CommonPhone cphone = new CommonPhone("三星","I3452"); cphone.showInfo(); cphone.message(); cphone.call(); cphone.boFang("音樂"); SmartPhone sphone = new SmartPhone("蘋果","6P"); sphone.showInfo(); sphone.message(); sphone.call(); sphone.play("大話西游"); sphone.net(); sphone.takePhoto(); } }
實現結果為:
手機信息及功能介紹:
這是一部三星的手機,型號是I3452
發送短信!
撥打電話!
可以播放音樂!
手機信息及功能介紹:
這是一部蘋果的手機,型號是6P
發送短信
撥打電話
播放電影大話西游
上網功能
拍照功能
作業二、組裝一台計算機
1、采用面向接口編程思想組裝一台計算機
2、計算機的主要組成部分:cpu、硬盤、內存
實現思路:
定義CPU的接口cpu,返回CPU品牌和主頻;
定義內存的接口EMS,返回類型和容量;
定義硬盤的接口HardDisk,返回容量;
編寫各組件廠商分別實現CPU、EMS、和HardDisk接口
編寫計算機類,組裝計算機並顯示相關信息
編寫測試類運行
1、編寫cpu功能接口
package com.cpu; public interface Cpu { public String brand(); public String hz(); }
1、1 生產AmdCpu
package com.cpu; public class AmdCpu implements Cpu { public String brand() { return "Amd"; } public String hz() { return "2.8G"; } }
1、2 生產IntelCpu
package com.cpu; public class IntelCpu implements Cpu { public String brand() { return "Intel"; } public String hz() { return "3.0G"; } }
2、編寫內存功能接口
package com.EMS; public interface Ems { public String type(); public String room(); }
2、1 生產Jinstom品牌的內存
package com.EMS; public class Jinstom implements Ems { public String type() { return "DDR3"; } public String room() { return "4G"; } }
2、2 生產SunXing品牌的內存
package com.EMS; public class SunXing implements Ems { public String type() { return "DDR4"; } public String room() { return "5G"; } }
3、編寫硬盤功能的接口
package com.HardDisk; public interface HardDisk { public String hdd(); }
3、1 生產HaiLishi品牌的硬盤
package com.HardDisk; public class HaiLishi implements HardDisk { public String hdd() { return "500G"; } }
3、2 生產XiShu品牌的硬盤
package com.HardDisk; public class XiShu implements HardDisk { public String hdd() { return "1T"; } }
創建電腦組裝類
package com.computer; import com.EMS.Ems; import com.HardDisk.HardDisk; import com.cpu.Cpu; public class Computer { private Cpu cpu; private Ems ems; private HardDisk hdd; public Cpu getCpu() { return cpu; } public void setCpu(Cpu cpu) { this.cpu = cpu; } public Ems getEms() { return ems; } public void setEms(Ems ems) { this.ems = ems; } public HardDisk getHdd() { return hdd; } public void setHdd(HardDisk hdd) { this.hdd = hdd; } public void showInfo() { System.out.println("計算機配置信息:"); System.out.println("CPU是:"+cpu.brand()+"品牌,主頻是:"+cpu.hz()+"Hz;"); System.out.println("內存類型是:"+ems.type()+",容量為:"+ems.room()+";"); System.out.println("硬盤容量為:"+hdd.hdd()+";"); } }
編寫測試類:
package com.user; import com.EMS.Ems; import com.EMS.Jinstom; import com.HardDisk.HaiLishi; import com.HardDisk.HardDisk; import com.computer.Computer; import com.cpu.Cpu; import com.cpu.IntelCpu; public class ComputerUser { public static void main(String[] args) { Computer com= new Computer(); Cpu cpu = new IntelCpu(); Ems ems = new Jinstom(); HardDisk hdd = new HaiLishi(); com.setCpu(cpu); com.setEms(ems); com.setHdd(hdd); com.showInfo(); } }
實現結果為:
計算機配置信息: CPU是:Intel品牌,主頻是:3.0GHz; 內存類型是:DDR3,容量為:4G; 硬盤容量為:500G;