1. 程式人生 > >java--類、物件和方法

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();

	}

}