java--類、物件和方法
阿新 • • 發佈:2018-11-09
一個榨汁機的例子:
實現客戶購買的各種需求:
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();
}
}