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

溫馨提示×

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
德化县| 嵊州市| 长岛县| 客服| 迭部县| 阿尔山市| 中宁县| 郓城县| 金山区| 南江县| 安阳县| 仁布县| 托克托县| 湄潭县| 巨鹿县| 泰安市| 赤水市| 贡嘎县| 琼中| SHOW| 右玉县| 任丘市| 外汇| 军事| 九龙坡区| 绥德县| 大竹县| 青川县| 双鸭山市| 土默特左旗| 明水县| 合水县| 五莲县| 乌兰浩特市| 乐都县| 汨罗市| 磴口县| 新邵县| 丹巴县| 棋牌| 乌兰浩特市|