中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

class c#如何實現多態

c#
小樊
82
2024-10-19 10:57:00
欄目: 編程語言

在C#中,實現多態的方法主要有以下兩種:

  1. 接口(Interfaces):接口允許你定義一個行為契約,然后讓類實現這個契約。實現接口的類必須提供接口中所有方法的實現。這樣,你就可以通過接口類型的引用來調用不同類中的方法,從而實現多態。
// 定義一個接口
public interface IShape
{
    double Area();
}

// 實現接口的類
public class Circle : IShape
{
    private double radius;

    public Circle(double radius)
    {
        this.radius = radius;
    }

    public double Area()
    {
        return Math.PI * radius * radius;
    }
}

public class Rectangle : IShape
{
    private double width;
    private double height;

    public Rectangle(double width, double height)
    {
        this.width = width;
        this.height = height;
    }

    public double Area()
    {
        return width * height;
    }
}

// 使用接口類型的引用來調用不同類中的方法
public class Program
{
    public static void Main()
    {
        IShape circle = new Circle(5);
        IShape rectangle = new Rectangle(4, 6);

        Console.WriteLine("Circle area: " + circle.Area());
        Console.WriteLine("Rectangle area: " + rectangle.Area());
    }
}
  1. 繼承(Inheritance):繼承允許你創建一個新類,從已有的類繼承屬性和方法。新類可以重寫或擴展基類的方法,從而實現多態。
// 基類
public class Animal
{
    public virtual void MakeSound()
    {
        Console.WriteLine("The animal makes a sound");
    }
}

// 派生類
public class Dog : Animal
{
    // 重寫基類的方法
    public override void MakeSound()
    {
        Console.WriteLine("The dog barks");
    }
}

public class Cat : Animal
{
    // 重寫基類的方法
    public override void MakeSound()
    {
        Console.WriteLine("The cat meows");
    }
}

// 使用基類類型的引用來調用派生類中的方法
public class Program
{
    public static void Main()
    {
        Animal dog = new Dog();
        Animal cat = new Cat();

        dog.MakeSound(); // 輸出 "The dog barks"
        cat.MakeSound(); // 輸出 "The cat meows"
    }
}

這兩種方法都可以實現多態,但接口更適合用于定義行為契約,而繼承更適合用于表示類之間的關系。在實際開發中,你可以根據需要選擇合適的方法來實現多態。

0
内乡县| 澄迈县| 西昌市| 南雄市| 汕尾市| 柳林县| 嘉义县| 神木县| 泽普县| 三门县| 福贡县| 深州市| 建始县| 六枝特区| 满城县| 抚州市| 永兴县| 香港| 新竹市| 桦甸市| 新干县| 修武县| 灵川县| 平江县| 偃师市| 娄烦县| 重庆市| 临高县| 浦城县| 台东市| 新化县| 枣阳市| 东城区| 遂川县| 琼结县| 正镶白旗| 类乌齐县| 广丰县| 岑巩县| 中西区| 抚松县|