面向对象 多态作业

本文介绍了一款简单实用的程序设计案例,包括比萨选择和饮料购买两个部分。通过继承与多态等面向对象技术,实现了用户可以自定义比萨类型及配料,并能选择不同种类的饮料。

 * 1.编写程序实现比萨制作。
 * 需求说明编写程序,接收用户输入的信息,选择需要制作的比萨。
 * 可供选择的比萨有:培根比萨和海鲜比萨。
 * 实现思路及关键代码
 * 1)分析培根比萨和海鲜比萨
 * 2)定义比萨类
 * 3)属性:名称、价格、大小
 * 4)方法:展示
 * 5)定义培根比萨和海鲜比萨继承自比萨类

 * 6)定义比萨工厂类,根据输入信息产生具体的比萨对象程序运行结果如图所示

public abstract class Pizza {
	String name;
	int prince;
	int size;
	public abstract void show();
	
}
public class Bacon extends Pizza{
	
	@Override
	public void show() {
		name = "培根披萨";
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入培根的克数:");
		String a = sc.nextLine();
		System.out.println("请输入披萨的大小:");
		size = sc.nextInt();
		System.out.println("请输入披萨的价格:");
		prince = sc.nextInt();
		System.out.println("名称:"+name+"\n价格:"+prince+"\n大小:"+size+"寸\n培根克数:"+a);
	}

}

public class Seafood extends Pizza {
	@Override
	public void show() {
		name = "海鲜披萨";
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入配料信息:");
		String a = sc.nextLine();
		System.out.println("请输入披萨的大小:");
		size = sc.nextInt();
		System.out.println("请输入披萨的价格:");
		prince = sc.nextInt();
		System.out.println("名称:" + name + "\n价格:" + prince + "\n大小:" + size
				+ "寸\n配料:" + a);
	}
}

public class Test {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入想要制作的披萨:(1.培根披萨 2.海鲜披萨)");
		int i = sc.nextInt();
		if (i == 1) {
			Bacon b = new Bacon();
			b.show();
		} else if (i == 2) {
			Seafood s = new Seafood();
			s.show();
		}
	}
}

* 1.编写程序实现饮料购买:
 * 编写程序,接收用户输入的信息,选择购买的饮料。
 * 可供选择的饮料有:咖啡、矿泉水和可乐。
 * 其中,购买咖啡时可以选择:加糖、加奶还是什么都不加。
 * 购买可乐时可以选择:买可口可乐还是百事可乐。
public class Coffee{
	public void kb(){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入购买容量:");
		int b = sc.nextInt();
		System.out.println("请问是否要配料:(1、加糖  2、加奶  3、什么都不加)");
		int c = sc.nextInt();
		System.out.println("您购买的饮料信息如下:\n名称:咖啡\n容量:"+b);
		if(c==1){
			System.out.println("添加配料:加糖");
		}else if(c==2){
			System.out.println("添加配料:加奶");
		}else if(c==3){
			System.out.println("添加配料:什么都不加");
		}
	}
}
public class Water {
	public void kb(){
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入购买容量:");
		int b = sc.nextInt();
		System.out.println("您购买的饮料信息如下:\n名称:矿泉水\n容量:"+b);		
	}
}

public class Coke {
	public void kb(){
		String name = null;
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入购买容量:");
		int b = sc.nextInt();
		System.out.println("请选择你要购买的类型:(1、可口可乐  2、百事可乐  )");
		int c = sc.nextInt();
		if(c==1){
			name = "可口可乐";
		}else if(c==2){
			name = "百事可乐";
		}else{
			System.out.println("不存在");
		}
		System.out.println("您购买的饮料信息如下:\n名称:"+name+"\n容量:"+b);
	}
}
public class Demo {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请选择饮料:(1、咖啡  2、矿泉水  3、可乐)");
		int i = sc.nextInt();
		if(i==1){
			Coffee c = new Coffee();
			c.kb();
		}else if(i==2){
			Water w = new Water();
			w.kb();
		}else if(i==3){
			Coke c = new Coke();
			c.kb();
		}	
	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值