91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#中怎么實現多態性

c#
小億
96
2024-03-06 17:29:53
欄目: 編程語言

在C#中實現多態性一般通過繼承和接口實現。具體方法如下:

  1. 繼承:通過創建一個父類和多個子類,子類繼承父類的特性,并且可以重寫父類的方法來實現多態性。例如:
class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("Animal makes a sound");
    }
}

class Dog : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Dog barks");
    }
}

class Cat : Animal
{
    public override void MakeSound()
    {
        Console.WriteLine("Cat meows");
    }
}

Animal myDog = new Dog();
Animal myCat = new Cat();

myDog.MakeSound(); // Output: Dog barks
myCat.MakeSound(); // Output: Cat meows
  1. 接口:通過定義一個接口,然后讓多個類實現這個接口,實現接口方法的多態性。例如:
interface IShape
{
    double GetArea();
}

class Circle : IShape
{
    public double Radius { get; set; }

    public double GetArea()
    {
        return Math.PI * Radius * Radius;
    }
}

class Rectangle : IShape
{
    public double Width { get; set; }
    public double Height { get; set; }

    public double GetArea()
    {
        return Width * Height;
    }
}

IShape myCircle = new Circle() { Radius = 5 };
IShape myRectangle = new Rectangle() { Width = 5, Height = 10 };

Console.WriteLine(myCircle.GetArea()); // Output: 78.54
Console.WriteLine(myRectangle.GetArea()); // Output: 50

通過以上兩種方法,可以實現不同類對象對同一個方法的調用,實現多態性。

0
神农架林区| 甘孜| 资溪县| 区。| 钟祥市| 乌海市| 汤原县| 双城市| 集贤县| 舟曲县| 东方市| 肇庆市| 会宁县| 三江| 察哈| 阳西县| 云阳县| 翼城县| 晴隆县| 包头市| 湘潭市| 孝昌县| 雷波县| 吴桥县| 罗城| 泉州市| 临海市| 三穗县| 黄平县| 神木县| 汉寿县| 都昌县| 木兰县| 呈贡县| 通江县| 仙桃市| 静海县| 罗平县| 闽清县| 福泉市| 黑山县|