Java
实验项目:继承和多态
实验目的:
1.熟练使用重写实现多态机制
2.理解使用向上转型
3.理解使用向下转型
实验内容及操作步骤:使用多态来打印不同的商品价格
求代码
求大神解题!急!!!
//父类:商品类
public abstract class Goods {
public abstract void printPrice();
}
//食品类
public class Foods extends Goods {
public void printPrice() {
System.out.println("食品的价格是10元");
}
}
//电视类
public class TVs extends Goods {
public void printPrice() {
System.out.println("电视的价格是4998元");
}
}
//商场类
public class Mark {
public Goods buy(int type) {
Goods goods=null;
switch(type) {
case 1:
return goods=new Foods();
case 2:
return goods=new TVs();
}
return goods;
}
}
//测试类
public class Test {
public static void main(String[] args) {
Mark m=new Mark();
m.buy(1).printPrice();
}
}
如有帮助,望采纳。点击我回答右上角的【采纳】按钮。
public class GoodTest {
public static void main(String[] args) {
Goods good1 = new BasketBall("篮球", 99);
Goods good2 = new FootBall("足球", 128);
good1.printPrice();
good2.printPrice();
System.out.println("--------------------");
if( good1 instanceof BasketBall) {
System.out.println("good1是篮球类");
BasketBall b = (BasketBall)good1;
b.printPrice();
}
if( good2 instanceof FootBall) {
System.out.println("good2是足球类");
FootBall b = (FootBall)good2;
b.printPrice();
}
}
}
class Goods{
String name;
float price;
public Goods(String name,float price) {
this.name = name;
this.price = price;
}
void printPrice() {
System.out.println("商品名称:" + name+",价格是:"+price);
}
}
class BasketBall extends Goods{
public BasketBall(String name,float price) {
super(name,price);
}
void printPrice() {
System.out.println("商品名称:" + name+",价格是:"+price);
}
}
class FootBall extends Goods{
public FootBall(String name,float price) {
super(name,price);
}
void printPrice() {
System.out.println("商品名称:" + name+",价格是:"+price);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632