永发信息网

C#多态的好处??

答案:4  悬赏:50  手机版
解决时间 2021-02-11 01:46
  • 提问者网友:戎马万世
  • 2021-02-10 07:11
C#多态的好处??
最佳答案
  • 五星知识达人网友:街头电车
  • 2021-02-10 08:12



25 分钟前 jack87918 | 八级
设计原则之一就是要依赖于抽象,而不依赖于具体,增加灵活性。
多态就是为了体现这一原则。
常见的多态体现,如接口、抽象类等等

这里以接口为例
interface IPeople
{ void DoSomething();}
class Student:IPeople
{
public void DoSomething(){//学生做的事}
}
class Worker:IPeople
{
public void DoSomething(){//工人做的事}
}

看看实例化和调用的时候:
public void DoThing(IPeople p)
{
p.DoSomething();
}
这里 Dothing这个方法的参数就是依赖于抽象的接口IPeople而不是Student,Worker,而如果是依赖于具体的Worker和Student的话,会怎么写呢?是不是每一个依赖于具体的都得写一个方法呢?这里的具体类只有Worker,Student两种人,如果有很多很多类人的时候,你想想这个代码,会变成什么样。。。
正解 刷任务中
全部回答
  • 1楼网友:零点过十分
  • 2021-02-10 09:02
当程序业务需要做很大的改动的时候 你的代码不需要重新写 或者说不需要做很大的改动
  • 2楼网友:摆渡翁
  • 2021-02-10 08:44
这样跟你说吧,例如猫和狗 猫和狗都是动物,身上都有毛 所以定义了一个动物类animal clase animal { 定义一个base基本方法输出:我是有毛的动物 } 但是,虽然他们都是有毛的动物,他们还是有他们自己的属性的 clase dog:animal { 继承animal的base基本方法,重新输出:我的叫声是汪 } class cat:animal { 继承animal的base基本方法,重新输出:我的叫声是喵 } 然后用在一个主函数调用他们相同名称的方法的话就会输出不同的结果,这就叫多态
  • 3楼网友:拜訪者
  • 2021-02-10 08:35
设计原则之一就是要依赖于抽象,而不依赖于具体,增加灵活性。 多态就是为了体现这一原则。 常见的多态体现,如接口、抽象类等等 这里以接口为例 interface IPeople { void DoSomething();} class Student:IPeople { public void DoSomething(){//学生做的事} } class Worker:IPeople { public void DoSomething(){//工人做的事} } 看看实例化和调用的时候: public void DoThing(IPeople p) { p.DoSomething(); } 这里 Dothing这个方法的参数就是依赖于抽象的接口IPeople而不是Student,Worker,而如果是依赖于具体的Worker和Student的话,会怎么写呢?是不是每一个依赖于具体的都得写一个方法呢?这里的具体类只有Worker,Student两种人,如果有很多很多类人的时候,你想想这个代码,会变成什么样。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯