实现多态的⽅式
实现多态有三种⽅式:虚⽅法,抽象⽅法,接⼝。
虚⽅法:⼦类重写⽗类中的⽅法,对⽗类中的⽅法进⾏覆盖。适⽤情况:⽗类中的⽅法对⼦类来说不适⽤,⼦类通过重写该⽅法,覆盖了⽗类中的⽅法。
public class Person
{
public virtual void SayHello()
{
Console.WriteLine("Say hello!");
}
}
public class Chinese : Person
{
writeline方法属于类public override void SayHello()
{
Console.WriteLine("中国⼈问好!");
}
}
抽象⽅法:⼦类重写⽗类中的⽅法,⽗类中不对⽅法进⾏实现,在⼦类中进⾏实现,⽗类是抽象类。适⽤情况:针对同⼀种类型抽象出来的⽗类,对某些⾏为和属性⼤家都是公有的,但是这些属性和⾏为实现⽅式并不⼀致。
abstract class Person
{
public abstract void SayHello();
}
class Chinese : Person
{
public override void SayHello()
{
Console.WriteLine("中国⼈问好!");
}
}
接⼝:实现接⼝的类,将接⼝中的⽅法实现。适⽤情况:A.当多个类型不能抽象出合理的⽗类时,但是⼜要对某些⾏为进⾏多态,将公共的⽅法抽象到⼀个接⼝中,让不同的⼦类调⽤。
public interface IFlyable//定义⼀个接⼝,实⽤interface 修饰,接⼝名以I开头,接⼝中只能包括⽅法,且⽅法没有访问修饰符,⽅法不实现。
{
void Fly();
void Jump();
}
class Student:Person,IFlyable//当⼀个类继承了⽗类,并且实现了多个接⼝的时候,被继承的类必须写在继承列表的第⼀个位置
{
public void Fly()
{
Console.WriteLine("I can fly");
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论