鍍金池/ 教程/ C#/ C#接口
C#屬性(Properties)
C#與Java比較
C#方法
C#枚舉
C#關(guān)鍵字
C# StreamReader類
C#不安全代碼
C#文件(I/O)
C#匿名方法
C#線程同步
C# Thread類
C#主線程
C#數(shù)據(jù)類型
C# FileStream類
C#預(yù)處理指令
C#繼承
C#循環(huán)
C#決策結(jié)構(gòu)
C#集合
C#反射
C#類型轉(zhuǎn)換
C#泛型
C# StringReader類
C#歷史
C#運算符重載
C#屬性
C#線程實例:Sleep()方法
C#線程示例:優(yōu)先級
C#線程實例:Join()方法
C# BinaryReader類
C#類
C#索引器
C# BinaryWriter類
C#序列化
C#常量和文字
C#程序結(jié)構(gòu)
C#封裝
C#事件
C#可空類型(nullable)
C#基本語法
C#異常處理
C#教程
C#接口
C# System.IO命名空間
C#線程命名實例
C# StringWriter類
C#線程實例
C#數(shù)組
C#正則表達(dá)式
C#命名空間
C#反序列化
C#與C++比較
C# TextWriter類
C#多線程
C#字符串
C#是什么?
C#變量
C# FileInfo類
C#線程實例:Abort()方法
C#結(jié)構(gòu)體
C#運算符
C#入門程序
C#多線程生命周期
C# TextReader類
C# DirectoryInfo類
C#委托

C#接口

接口是一種為所有繼承接口的類定義需要遵循的語法約定。接口定義了語法約定的“是什么”部分,派生類定義了語法約定的“如何實現(xiàn)”部分。

接口定義屬性,方法和事件,它們是接口的成員。 接口只包含成員的聲明。 派生類負(fù)責(zé)定義和實現(xiàn)成員。接口通常有助于為派生類提供遵循的標(biāo)準(zhǔn)結(jié)構(gòu)。

抽象類在某種程度上起著相同的作用,但是,當(dāng)基類只有少數(shù)方法聲明并且由派生類實現(xiàn)時,才會考慮使用抽象類。

聲明接口

接口使用interface關(guān)鍵字聲明。 它類似于類聲明。 默認(rèn)情況下,interface語句是公開的。 以下是接口聲明的示例:

public interface ITransactions
{
   // interface members
   void showTransaction();
   double getAmount();
}

示例

以下示例演示了以上所述接口的實現(xiàn):

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("1001", "8/10/2017", 578998.00);
            Transaction t2 = new Transaction("1002", "9/10/2018", 5471980.00);
            t1.showTransaction();
            t2.showTransaction();
            Console.ReadKey();
        }
    }
}

當(dāng)編譯和執(zhí)行上述代碼時,會產(chǎn)生以下結(jié)果:

Transaction: 1001
Date: 8/10/2017
Amount: 578998
Transaction: 1002
Date: 9/10/2018
Amount: 5471980