在C#中,多态是面向对象编程的一个重要概念。它允许我们使用同一个方法名来调用不同对象的方法,而具体执行的方法实现是根据对象的类型来确定的。
C#中实现多态的方式主要有两种:继承和接口。
1.继承多态:
继承多态是通过创建一个父类,然后在子类中重写父类的方法来实现的。当使用父类的引用指向子类的对象时,可以根据实际对象的类型来调用相应的方法。这样可以提高代码的复用性和可扩展性。
第一个示例是父类引用子类的实现,Animal类是父类,Dog和Cat是其子类。通过将子类的实例赋值给父类的引用,然后调用相同的方法名,实现了多态。在 C# 中,通过父类引用子类的实现可以实现多态性(声明父类,指向子类),这样可以提高代码的灵活性和可维护性。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 多态
{
// 父类引用子类的实现示例
class Animal
{
public virtual void MakeSound()
{
Console.WriteLine("Some sound");
}
}
class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Woof! Woof!");
}
}
class Cat : Animal
{
public override void Mak