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