Java学习--自定义类和方法,使用父类作为返回值类型实现打印不同类型商品价格功能

/**
 * 
 * @author AdMin
 *商品类
 *父类
 */
public abstract class Goods {
	private int price;//商品价格

	public int getPrice() {
		return price;
	}

	public void setPrice(int price) {
		this.price = price;
	}
	public abstract void print();
	
}

/**
 * @author AdMin
 *
 *食品类
 */
public class Foods extends Goods {

	@Override
	public void print() {
		System.out.println("食品价格:100");
		
	}

}
/**
 * 
 * @author AdMin
 *电视类
 */
public  class Tvs extends Goods {
	
	@Override
	public void print() {
		System.out.println("电视价格:5000");
		
	}
}
/**
 * 
 * @author AdMin
 * 工厂类
 */
public class plant {
	public Goods Goods(String type){
		Goods goods = null;
		if(type.equals("tv")){
		goods = new Tvs();
		}else if(type.equals("食品")){
		goods = new Foods();
		}
		return goods;
		}
}

public class GoodsText {

	/**
	 * @param args
	 * 
	 * 测试类
	 */
	public static void main(String[] args) {
		//实例工厂类
		plant pl= new plant();
		//想打印谁的价格
		Goods goods=pl.Goods("tv");
		//打印价格
		goods.print();
		
		goods =pl.Goods("食品");
	    goods.print();
		

	}

}

好的,我可以为您解答这个问题。 首先,我们可以创建一个宠物 Pet 作为父类,包含宠物的基本属性和行为。然后,我们可以创建三个子 Dog、Cat 和 Fish,分别继承宠物 Pet,并且重写一些方法实现不同的行为。 代码示例: ```python class Pet: def __init__(self, name, age): self.name = name self.age = age self.health = 100 def eat(self): self.health += 10 def play(self): self.health -= 10 class Dog(Pet): def __init__(self, name, age, breed): super().__init__(name, age) self.breed = breed def bark(self): print("汪汪!") class Cat(Pet): def __init__(self, name, age, color): super().__init__(name, age) self.color = color def meow(self): print("喵喵!") class Fish(Pet): def __init__(self, name, age, species): super().__init__(name, age) self.species = species def swim(self): print("游泳!") ``` 接下来,我们可以创建一个主人 Owner,包含领养宠物和喂养宠物的方法。这些方法将以父类 Pet 作为形参和返回值实现多态。 代码示例: ```python class Owner: def __init__(self, name): self.name = name self.pets = [] def adopt_pet(self, pet): self.pets.append(pet) def feed_pet(self, pet): pet.eat() ``` 最后,我们可以创建一个测试函数,创建一个主人对象和三个宠物对象,然后领养宠物并喂养宠物。 代码示例: ```python def test(): # 创建主人对象 owner = Owner("张三") # 创建宠物对象 dog = Dog("旺财", 2, "拉布拉多") cat = Cat("小白", 1, "白色") fish = Fish("小鱼", 1, "金鱼") # 领养宠物 owner.adopt_pet(dog) owner.adopt_pet(cat) owner.adopt_pet(fish) # 喂养宠物 for pet in owner.pets: owner.feed_pet(pet) ``` 这样,我们就成功地使用父类作为方法形参和返回值实现了多态,并且使用多态实现了主人领养三只宠物并喂养宠物的过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值