Java实验项目继承和多态

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