TV类对电视机的建模:
channel: int //这个TV的当前频道(从1到120)
volumeLevel: int //这个TV的当前音量(从1到7)
on: boolean //表明这个TV是开的还是关的
+TV() //构造一个默认的TV对象
+turnOn(): void //打开这个TV
+turnOff(): void //关闭这个TV
+setChannel(newChannel: int): void //为这个TV设置一个新频道
+setVolume(newVolumeLevel: int): void //为这个TV设置一个新音量
+channelUp(): void //给频道数+1
+channelDown(): void //给频道数-1
+volumeUp(): void //给音量+1
+volumeDown:void //给音量-1
复制代码
TV.java文件
TV类中的构造方法定义为公共的,因此可以从其他类中访问。
public class TV {
int channel = 1;
int volumeLevel = 1;
boolean on = false;
public void turnOn(){//开
on = true;
}
public void turnOff(){//关
on = false;
}
public void setChannel(int newChannel){
if(on && newChannel >= 1&& newChannel <= 120)
volumeLevel = newChannel;
}
public void setVolume(int newVolumeLevel){
if(on && newVolumeLevel >=1 && newVolumeLevel <=7)
volumeLevel = newVolumeLevel;
}
public void channelUp(){
if(on && channel < 120)
channel++;
}
public void channelDown(){
if (on && channel > 1)
channel--;
}
public void volumeUp(){
if(on && volumeLevel < 7)
volumeLevel++;
}
public void volumeDown(){
if(on && volumeLevel > 1)
volumeLevel--;
}
}
复制代码
TestTV.java文件
第3行和第8行创建了两个对象,然后调用对象中的方法来完成设置频道和音量的动作。
public class TestTV {
public static void main(String[] args){
TV tv1 = new TV();
tv1.turnOn();//tv1 开
tv1.setChannel(30);//频道 30
tv1.setVolume(3);// 音量 3
TV tv2 = new TV();
tv2.turnOn();// tv2 开
tv2.channelUp();// tv2 频道+1
tv2.volumeUp();//tv2 音量+1
System.out.println("tv1的频道是"+tv1.channel+"声音是"+tv1.volumeLevel);
System.out.println("tv2的频道是"+tv2.channel+"声音是"+tv2.volumeLevel);
}
}
复制代码
运行结果
tv1的频道是1声音是3
tv2的频道是2声音是2
复制代码