什么是面向对象的多态性

在C#中哦... 在C#中哦 展开
 我来答
老采薇可璠
游戏玩家

2019-04-18 · 非著名电竞玩家
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:642万
展开全部
多态性,就是一个父类的引用变量,可以指向其任意一个子类对象。
例如,一个animal类,其子类有cat与dog,然后你创建一个父类animal的引用animalAlpha,然后它可以指向cat的对象cat1,或指向dog的对象dog1。
主要有时在程序设计时,未来有那些子类有时是未知的,这样在你用一个父类的引用变量来完成某些功能,就可以兼容后来出现的子类。
depluin
2010-07-04 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2497万
展开全部
通过继承,一个类可以用作多种类型:可以用作它自己的类型、任何基类型,或者在实现接口时用作任何接口类型。这称为多态性。C# 中的每种类型都是多态的。类型可用作它们自己的类型或用作 Object 实例,因为任何类型都自动将 Object 当作基类型。

多态性不仅对派生类很重要,对基类也很重要。任何情况下,使用基类实际上都可能是在使用已强制转换为基类类型的派生类对象。基类的设计者可以预测到其基类中可能会在派生类中发生更改的方面。例如,表示汽车的基类可能包含这样的行为:当考虑的汽车为小型货车或敞篷汽车时,这些行为将会改变。基类可以将这些类成员标记为虚拟的,从而允许表示敞篷汽车和小型货车的派生类重写该行为。

简单的理解,就是可以将鸭子,鸡,鸟,猪都作为动物对象来看待,就可以直接命令 “动物.叫”,然后在鸭子中具体实现“叫=瓜瓜”,鸟中“叫=叽叽”这样,就是以动物为基类,实现了鸭子,鸡,鸟,猪等派生类的多态。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ThinkIBM
2010-07-04 · TA获得超过5289个赞
知道大有可为答主
回答量:3263
采纳率:0%
帮助的人:5492万
展开全部
多态是所有语言都是一样的,C#和别的语言没有什么不同
主要是子类继承父类,并重写父类的方法,实现了不同的操作
比如:
public class 父类{
public abstract string m();
}
public class 子类1:父类{
public override string m(){
return "1";
}
}
public class 子类2:父类{
public override string m(){
return "2";
}
}

应用:
父类 a = new 子类1();
Console.Write(a.m());
a = new 子类2();
Console.Write(a.m());

上面都是调用a.m(),输出的结果却不一样,这就是多态了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
门天巧杭翠
2020-02-19 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:917万
展开全部
java使用动态绑定来使多态成为可能,它指的是java用来在运行时选择调用的方法或对象的机制.重载构成了了java中的一种特殊的多态机制,它表现在当一个类的两个或者两个以上的方法拥有相同的名字但是不同的参数列表,或者说"方法签名".一个方法的签名指的是方法的名字以及参数的类型和数目.类的每一个方法都有与之相关的唯一的签名.类可以有多个名字相同的方法只要它们的参数列表是唯一的.例如,我们能够为animal类定义两个名字为gethello的方法,用其中一个方法来获得动物通常的叫声,而用另一个获得当动物被惊吓或是抚摩的时候的叫声
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dyz06103103
2010-07-05
知道答主
回答量:19
采纳率:0%
帮助的人:30.4万
展开全部
一言以蔽之,即:父类引用可以指向子类实例
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式