java--类、对象和方法
一个榨汁机的例子:
实现客户购买的各种需求:
1.一杯某某果汁
2.几杯某某果汁
3.几杯某某果汁+几杯某某果汁+…+几杯某某果汁 的组合
四个类:
(1)Order类
package FruitJuiceShop;
/**
* 订单类
* @author MacBook
*
*/
public class Order {
//顾客的订单一般是两个属性
public int num;//杯数
public String fruit;//水果类型
}
(2)Juicer类
package FruitJuiceShop;
/**
* 榨汁机类
* @author MacBook
*
*/
public class Juicer {
/**
* 榨汁机的方法
* 榨水果,传入一个水果,返回一杯果汁
* @param fruit
* @return
*/
public String juicer(String fruit) {
return "一杯"+fruit+"汁";
}
/**
* 方法的重载
* 榨汁机二:直接传订单(数量+水果类型),返回几杯水果汁。
* 根据需要传入不同的参数,就调用不同的方法。
*
* @param order
* @return
*/
public String juicer(Order order) {
if(order.num==1) {
return juicer(order.fruit);
}else {
return order.num+"杯"+order.fruit+"汁";
}
}
/**
* 现在顾客想买几种类型的果汁 ,比如我想买一杯苹果汁,2杯梨汁
* 利用数组来将他们放在一起
* @param orders
* @return
*/
public String[] juicer(Order[] orders) {
String[] demand = new String[orders.length];
for(int i=0,len=orders.length;i<len;i++) {
demand[i]=juicer(orders[i]);
}
return demand;
}
/**
* 将传入的几个订单
* @param orders
* @return
*/
public String OtherJuicer(Order[] orders) {
String demand= "";
for(int i=0,len=orders.length;i<len;i++) {
demand+=juicer(orders[i]);
}
return demand;
}
}
(3)Menu类
package FruitJuiceShop;
import java.util.Scanner;
/**
* 果汁店的菜单类
* @author MacBook
*
*/
public class Menu {
public void menu() {
System.out.println("欢迎光临!");
//实例化对象
Scanner sc = new Scanner(System.in);
Juicer ju =new Juicer();
Order o = new Order();
do {
//提示输入这次点单的次数,是为了确定数组的长度
System.out.println("请输入点单的次数:");
int num = sc.nextInt();
//定义数组,new开辟的是数组的空间,数组的默认元素的类型Null
//orders[i]=null,这是一个null对象,没有进行实例化的操作
Order[] orders = new Order[num];
for(int i=0,len=orders.length;i<len;i++) {
orders[i]=new Order();//一个对象想要赋值必须要经过new 类名();
//提示输入
System.out.println("请选择要购买的果汁:");
orders[i].fruit=sc.next();
System.out.println("请输入杯数:");
orders[i].num=sc.nextInt();
}
//调用方法
String demand=ju.OtherJuicer(orders);
System.out.println("请拿好:\n"+demand);
System.out.println("是否继续选择:");
String str=sc.next();
if("n".equals(str)) {
System.out.println("欢迎下次光临哦~!");
break;
}
}while(true);
}
}
(4)Test类
package FruitJuiceShop;
/**
* 测试类
* @author MacBook
*
*/
public class Test {
public static void main(String[] args) {
Menu sales = new Menu();
sales.menu();
}
}