类的设计——售票机.ppt

类的设计——售票机

广州城建职院学院 类的设计实例——售票机 内容提要 4 类定义回顾-TicketSeller 1 2 3 三种控制结构回顾 TicketSeller改进版 类定义总结 类定义 售票机功能: 1、能打印一个单价的票 2、售票机能够保存总的票的张数 3、售票机能够保存接收的钱总数 4、能够保存一次交易过程中插入的货币数量。 功能体验 1、产生一个TicketSeller实例。 选择new TicketSeller(int ticketCost),被要求输入一个数字,对应票的单价,我们输入500,作为票单价。 2、调用getSinglePrice方法; 我们将看到产生对象的时候输入的票单价。 3、调用setTotalTicket(int tickets)方法; 要求输入票的总张数,我们输入10作为机器含有的总票数 4、调用insertMoney方法模拟插入一定数量的钱进入机器; 5、使用getBalance方法检测机器含有被插入的钱的数量; 6、重复第4步,模拟多次插入钱,并用getBalance方法检查本次交易中被插入的钱的数量。我们不断调用该方法,就像可以插入多个钱币。 7、调用printTicket()方法,将票打印给顾客。 类定义 类分成类头和类体。 类头是一个外部的封装,主要是命名类名并定义出类的范围; 类体是真正做工作的部分 类定义---成员变量 TicketSeller类有四个字段: totalTickets、singlePrice、balance和totalMoney。 成员变量有时也称为实例变量。我们已经把这些变量定义在类的内部。这些都是售票机需要处理的: singlePrice成员变量存储一个售票机的票单价。 balance成员变量存储在打印一张票之前插入到售票机中的钱的数量。 totalMoney成员变量存储机器中的所有钱的数量。 totalTickets成员变量存储售票机对象保存的票总数量。 类定义---构造器 构造器在创建对象的时候被调用,作用就是初始化正在产生的对象的各个字段。 比如,我们产生一个ticketSe1对象; public class TicketSeller{ 字段忽略 /** *产生一个售票机用于打印指定价格的票; *注意票价必须大于0,当然在这里没有任何检测保证这点。 */ public TicketSeller(int ticketCost){ singlePrice=ticketCost; balance=0; total=0; totalTickets=100; } 方法忽略 } 构造器方法没有返回类型 构造器方法的名字和类名相同 构造器方法在产生对象的时候调用 方法---成员方法 找到类TicketSeller中的四个方法: getSinglePrice():返回票单价 getBalance():返回顾客插入的总钱数 insertMoney(int amount):接收顾客插入的钱 printTicket ():打印一张票 setTotalTicket(int tickets):设置票的总张数 实战演练 1、在TicketSeller类中增加一个方法 public void setPrice(int ticketCost) 2、完成setPrice方法,作用是重新指定售票机单价。 3、完成下面方法的方法体,目的是将参数的值增加到singlePrice字段中。 public void increase(int points){ } 4、完成下面方法体,该方法作用是从字段singlePrice中减少参数的值? public void discount(int amount){ …… } 打印输出方法 public void printTicket() { //模拟一张票的打印. System.out.println(##################); System.out.println(# 票单价为:); System.out.println(# + singlePrice + 分.); System.out.println(##################); totalTickets=totalTickets-1; System.out.println(现还剩余:+totalTickets+张); System.out.println(); //用balance更新total的值. totalMoney = totalMoney + balance; //清空ba

文档评论(0)

1亿VIP精品文档

相关文档