首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 抽象類別與介面:建構子鏈、abstract/sealed/override、介面定義完整指南

     編輯:關於C語言

建構子鏈與 base 關鍵字

衍生類別建構子隱式呼叫基底類別建構子,按類別階層順序執行。輸出範例:


Value of count in base class = 11
Value of count in derived class = 110

抽象類別

  • 含 abstract 方法/屬性(無實作)
  • 可包含非抽象成員
  • 不可直接實例化,僅供繼承
  • 衍生類必須 override 所有抽象成員(除非衍生類也標記 abstract)

範例:Employee 抽象類別與 Manager 實作


using System;

public abstract class Employee
{
    public abstract void show();
}

public class Manager : Employee
{
    string name;
    public Manager(string name) => this.name = name;

    public override void show() => Console.WriteLine("Name: " + name);
}

public class CreateManager
{
    public static void Main(string[] args)
    {
        Employee temp = new Manager("John Chapman");
        temp.show(); // 呼叫 Manager 實作
    }
}

介面

  • 「主幹類別」:僅含方法簽名,無實作
  • 所有成員隱含 public
  • 不可含常數、欄位、建構子、解構子、靜態成員
  • 成員不可加修飾符(會編譯錯誤)

介面定義範例


public interface IMethodInterface
{
    void MethodA();
    int MethodB(float p1, bool p2);

    int ReadOnlyProperty { get; } // 唯讀屬性
}

屬性僅用 get/set 指示存取性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved