多态思想.

  

子类在继承父类的情况下.

 

 

多态的好处:

没有使用多态:

这种方法定义饲养员喂养动物,需要编写不同的feed方法.然后通过feed方法的参数列表来判断是Dog还是Cat.

使用多态:

写一个喂养所有动物的类.

feed(Animal a) {System.out.println("feeding") ;   a.eat();  } 

在feed的参数列表改为Animal.因为Animal为所有动物类型的父类.   Animal和Dog,Cat存在多态的关系. 

在将d类型传入feed(Animal a)中实际等价于   Animal a = new Dod();

 

 

多态时方法的调用问题:

←以为是static和对象没有关系

 

 SuperClass(编译类型) clz = new (运行类型)SubClass();

 

转载于:https://www.cnblogs.com/dwj-ngu/p/6238305.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C#中使用多态思想实现仓储系统可以通过抽象类和接口来实现。以下是一个简单的示例: 首先,定义一个抽象类 `Product`,表示产品: ```csharp public abstract class Product { public string Name { get; set; } public decimal Price { get; set; } public abstract void DisplayInfo(); } ``` 然后,定义两个具体的产品类,继承自 `Product`: ```csharp public class Book : Product { public string Author { get; set; } public override void DisplayInfo() { Console.WriteLine($"Book: {Name}, Author: {Author}, Price: {Price}"); } } public class Electronic : Product { public string Manufacturer { get; set; } public override void DisplayInfo() { Console.WriteLine($"Electronic: {Name}, Manufacturer: {Manufacturer}, Price: {Price}"); } } ``` 接下来,定义一个仓储类 `Warehouse`,负责管理产品的存储和展示: ```csharp public class Warehouse { private List<Product> products; public Warehouse() { products = new List<Product>(); } public void AddProduct(Product product) { products.Add(product); } public void DisplayProducts() { foreach (var product in products) { product.DisplayInfo(); } } } ``` 最后,在主函数中使用多态实现仓储系统: ```csharp static void Main(string[] args) { Warehouse warehouse = new Warehouse(); Book book = new Book() { Name = "Harry Potter", Author = "J.K. Rowling", Price = 19.99m }; Electronic electronic = new Electronic() { Name = "iPhone", Manufacturer = "Apple", Price = 999.99m }; warehouse.AddProduct(book); warehouse.AddProduct(electronic); warehouse.DisplayProducts(); } ``` 在这个例子中,`Product` 类作为抽象类,定义了共同的属性和方法,`Book` 和 `Electronic` 类通过继承 `Product` 类来实现具体的产品。`Warehouse` 类通过接收 `Product` 对象来存储和展示产品,通过调用 `DisplayInfo()` 方法实现多态,根据具体对象的类型来展示不同的信息。 这样,通过多态思想,可以方便地扩展和管理不同类型的产品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值