案例3-3:随着科技的发展,手机早已普及,手机的功能越来越多且越来越强大,人们在生活中越来越依赖手机。
有两款配置和功能都不同的手机,配置信息包括品牌、型号、操作系统、价格和内存;手机功能包括自动拨号、游戏和播放歌曲。本案例要求使用所学的知识编写一个程序,实现查看手机配置及功能,并将查看结果打印在控制台。
程序设计思路可以简单概述为以下几点:
-
类的定义:
- 创建
Xiaomi
类来表示手机,包含品牌、型号、操作系统、价格、内存和几个布尔值(是否支持自动拨号、游戏和音乐播放)作为属性。
- 创建
-
构造方法:
- 提供一个有参构造方法用以初始化手机的属性。
-
方法设计:
- 定义两个方法:
viewPhoneConfiguration()
:输出手机的基本配置信息。viewPhoneFeatures()
:输出手机的功能支持情况。
- 定义两个方法:
-
主类实现:
- 在
main
方法中创建两个Xiaomi
对象(代表两款不同的手机),并调用其方法来显示各自的配置信息和功能。
- 在
整体思路是通过面向对象的方式将手机的特性和行为封装到类中,并通过实例化来展示每款手机的具体信息。
Xiaomi类
package Liti;
public class Xiaomi {
private String brand; // 品牌
private String model; // 型号
private String operatingSystem; // 操作系统
private double price; // 价格
private String memory; // 内存
private boolean hasDial; // 是否支持自动拨号功能
private boolean hasGames; // 是否支持游戏功能
private boolean hasMusic; // 是否支持播放歌曲功能
public Xiaomi(String brand, String model, String operatingSystem, double price, String memory, boolean hasDial,
boolean hasGames, boolean hasMusic) {//因为有两款不同的手机,所有提供有参构造方法
this.brand = brand;
this.model = model;
this.operatingSystem = operatingSystem;
this.price = price;
this.memory = memory;
this.hasDial = hasDial;
this.hasGames = hasGames;
this.hasMusic = hasMusic;
}
public void viewPhoneConfiguration() {//查看手机配置
System.out.println("品牌:"+brand);
System.out.println("型号:"+model);
System.out.println("操作系统:"+operatingSystem);
System.out.println("价格:"+price+"元");
System.out.println("内存:"+memory+"GB");
}
public void viewPhoneFeatures() {//查看手机功能
System.out.println("手机功能:");
if(hasDial) {
System.out.println("正在自动拨号给紧急联系人");
}
if(hasGames) {
System.out.println("正在和平精英");
}
if(hasMusic) {
System.out.println("正在播放歌舞");
}
}
}
Litip73 类(主类)
package Liti;
//String brand, String model, String operatingSystem, double price, String memory, boolean hasDial,
//boolean hasGames, boolean hasMusic
public class Litip73 {
public static void main(String[] args) {
Xiaomi xm1=new Xiaomi("小米","小米15ultra","MIUI",7799.0,"16+512",true,true,true);
Xiaomi xm2=new Xiaomi("小米","小米15pro","ios",6499.0,"12+512",true,true,false);//不会播放歌曲
System.out.println("第一个手机配置:");
xm1.viewPhoneConfiguration();
xm1.viewPhoneFeatures();
System.out.println("第二个手机配置:");
xm2.viewPhoneConfiguration();
xm2.viewPhoneFeatures();
}
}