-1

可能重复:
尽可能简单地描述多态性

我很难理解多态性到底是什么?例如,这段代码将如何使用多态性

我有一个汽车类和一个名为 countprice 的方法,我还有一个从汽车类继承的吉普车类。

List<Car> carlist = new List<Car>();
Jeep jeepABC123 = new Jeep(800, 14, 20, 10, 3500);
carlist.Add(jeepABC123);
Sedan sedanGHA321 = new Sedan(600, 7, 20, 10);
carlist.Add(sedanGHA321)

// This code
foreach (Bil bil in carlist)
{
revenue = revenue + car.countprice();
}
4

1 回答 1

0

很简单,你可以将s 放入你的sJeep数组中Car

也许你也可以实现Truckwhich 将继承自Car,那么你carlist可以同时拥有Jeeps 和Trucks 。

多态性意味着您可以将任何派生类放入为基类声明的变量中,这是面向对象编程的一个非常基本的概念。


当我开始编写简单的游戏时,我第一次真正体会到了多态性。

例如:

foreach(Enemy enemy in Enemies)
{
    enemy.update();
}

这些update调用中的每一个都可以做不同的事情,一个可以导致敌人向你射击,另一个可以导致敌人改变它的位置,但是它们都有一个更新调用,并且所有更新调用都有相同的签名。

于 2012-12-04T05:09:44.090 回答