
- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案 I/O
- C# 高階教程
- C# - 屬性
- C# - 反射
- C# - 屬性
- C# - 索引器
- C# - 委託
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全程式碼
- C# - 多執行緒
- C# 有用資源
- C# - 問題與解答
- C# - 快速指南
- C# - 有用資源
- C# - 討論
C# - 介面
介面被定義為一種語法契約,所有繼承該介面的類都應該遵循。介面定義了語法契約的“是什麼”部分,而派生類定義了語法契約的“怎麼樣”部分。
介面定義屬性、方法和事件,這些是介面的成員。介面只包含成員的宣告。派生類負責定義這些成員。它通常有助於提供派生類將遵循的標準結構。
抽象類在某種程度上具有相同的用途,但是,當基類只需要宣告少量方法,而派生類實現功能時,它們通常會被使用。
宣告介面
介面使用 interface 關鍵字宣告。它類似於類的宣告。介面語句預設是公開的。以下是一個介面宣告的示例:
public interface ITransactions { // interface members void showTransaction(); double getAmount(); }
示例
以下示例演示了上述介面的實現:
using System.Collections.Generic; using System.Linq; using System.Text; using System; namespace InterfaceApplication { public interface ITransactions { // interface members void showTransaction(); double getAmount(); } public class Transaction : ITransactions { private string tCode; private string date; private double amount; public Transaction() { tCode = " "; date = " "; amount = 0.0; } public Transaction(string c, string d, double a) { tCode = c; date = d; amount = a; } public double getAmount() { return amount; } public void showTransaction() { Console.WriteLine("Transaction: {0}", tCode); Console.WriteLine("Date: {0}", date); Console.WriteLine("Amount: {0}", getAmount()); } } class Tester { static void Main(string[] args) { Transaction t1 = new Transaction("001", "8/10/2012", 78900.00); Transaction t2 = new Transaction("002", "9/10/2012", 451900.00); t1.showTransaction(); t2.showTransaction(); Console.ReadKey(); } } }
當以上程式碼被編譯並執行時,它會產生以下結果:
Transaction: 001 Date: 8/10/2012 Amount: 78900 Transaction: 002 Date: 9/10/2012 Amount: 451900
廣告