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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#多繼承與類擴展的實踐

發布時間:2024-07-17 09:40:06 來源:億速云 閱讀:82 作者:小樊 欄目:編程語言

在C#中,不支持多繼承,即一個類只能繼承一個父類。但是可以通過接口實現多繼承的效果。另外,可以使用類擴展的方式來為現有類添加新的功能,使得類具有多繼承的特性。

下面是一個示例代碼,演示了如何通過接口實現多繼承和類擴展:

using System;

// 定義接口1
interface IShape
{
    double GetArea();
}

// 定義接口2
interface IColor
{
    void SetColor(string color);
}

// 定義父類
class Shape
{
    public virtual void Draw()
    {
        Console.WriteLine("Drawing shape...");
    }
}

// 定義子類,并實現多繼承效果
class Circle : Shape, IShape, IColor
{
    private double radius;
    private string color;

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

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

    public void SetColor(string color)
    {
        this.color = color;
    }

    public override void Draw()
    {
        Console.WriteLine($"Drawing circle with radius {radius} and color {color}...");
    }
}

// 類擴展:為Shape類添加一個新的方法
static class ShapeExtensions
{
    public static void DisplayInfo(this Shape shape)
    {
        Console.WriteLine("Displaying shape information...");
    }
}

class Program
{
    static void Main()
    {
        Circle circle = new Circle(5);
        circle.SetColor("Red");

        Console.WriteLine("Area of circle: " + circle.GetArea());
        circle.Draw();
        circle.DisplayInfo();
    }
}

在上述示例中,接口IShapeIColor分別定義了獲取面積和設置顏色的方法。類Shape是父類,類Circle繼承了Shape類并實現了IShapeIColor接口,從而實現了多繼承的效果。同時,通過類擴展的方式為Shape類添加了一個新的方法DisplayInfo

Main方法中,創建了一個Circle對象,并調用了相關方法來獲取面積、設置顏色、繪制圖形以及顯示額外信息。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

盖州市| 黄平县| 疏勒县| 澎湖县| 老河口市| 文山县| 长泰县| 广州市| 沂南县| 汝州市| 龙井市| 平安县| 靖西县| 郴州市| 唐海县| 罗定市| 辉南县| 宜州市| 南涧| 寿宁县| 米脂县| 临安市| 资中县| 南京市| 乐昌市| 沧源| 于田县| 肃南| 新巴尔虎左旗| 普宁市| 天水市| 凤山市| 库尔勒市| 马边| 平顶山市| 孝感市| 当涂县| 石狮市| 双鸭山市| 新竹市| 镇平县|