Java基础接口顾客点餐案例

导读:本篇文章讲解 Java基础接口顾客点餐案例,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

菜单接口:FoodMenu.java

/*
	接口:菜单,抽象的
*/
public interface FoodMenu{
	
	// 西红柿炒蛋
	void shiZiChaoJiDan();
	
	// 鱼香肉丝
	void yuXiangRouSi();
	
	
}

实现者(美国橱子): AmericaCook.java

//西餐厨师
// 实现菜单上的菜
// 厨师是接口的实现者。
public class AmericaCook implements FoodMenu{
	
	// 西红柿炒蛋
	public void shiZiChaoJiDan(){
		System.out.println("美国人做的西红柿炒鸡蛋!");
	}
	
	// 鱼香肉丝
	public void yuXiangRouSi(){
		System.out.println("美国人做的鱼香肉丝!");
	}
}

实现者(中国厨师): ChinaCook.java

//中餐厨师
// 实现菜单上的菜
// 厨师是接口的实现者。
public class ChinaCook implements FoodMenu{
	
	// 西红柿炒蛋
	public void shiZiChaoJiDan(){
		System.out.println("西红柿炒鸡蛋!河南口味!");
	}
	
	// 鱼香肉丝
	public void yuXiangRouSi(){
		System.out.println("鱼香肉丝!湖南口味");
	}
}

调用者(顾客): Customer.java

// 顾客
public class Customer{
	
	// 顾客手里有一个菜单
	// Customer has a FoodMenu!(这句话什么意思:顾客有一个菜单)
	// 记住:以后凡是能够使用 has a 来描述的,统一以属性的方式存在。
	// 实例变量,属性
	// 面向抽象编程,面向接口编程。降低程序的耦合度,提高程序的扩展力。
	private FoodMenu foodmenu;
	
	
	// 如果以下这样写,就表示写死了(焊接了。没有可插拔了。)
	// 中餐厨师
	//ChinaCooker cc;

	// 西餐厨师
	//AmericCooker ac

	public Customer(){
		
	}
	
	public Customer(FoodMenu foodmenu){
		this.foodmenu = foodmenu;
	}
	
	public void setFoodmenu(FoodMenu foodmenu){
		this.foodmenu = foodmenu;
	}
	
	public FoodMenu getFoodmenu(){
		return foodmenu;
	}
	
	// 提供一个点菜的方法
	public void order(){
		// 先拿到菜单才能点菜
		// 调用get方法拿菜单。
		//FoodMenu fm = this.getFoodMenu();
		// 也可以不调用get方法,因为在本类中私有的属性是可以访问
		foodmenu.shiZiChaoJiDan();
		foodmenu.yuXiangRouSi();
	}
}
/*
	Cat is a Animal,但凡满足is a的表示都可以设置为继承。
	Customer has a FoodMenu,但凡是满足has a的表示都以属性的形式存在。
*/

测试类: Test.java

public class Test{
	
	public static void main(String[] args){
		
		//创建厨师对象
		//FoodMenu f = new AmericaCook();
		FoodMenu f = new ChinaCook();
		
		//创建顾客对象
		Customer c = new Customer(f);
		//顾客点餐
		c.order();
	}
}

运行结果(Dos窗口模式):

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/87642.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!