C#接口

接口是一种为所有继承接口的类定义需要遵循的语法约定。接口定义了语法约定的“是什么”部分,派生类定义了语法约定的“如何实现”部分。

接口定义属性,方法和事件,它们是接口的成员。 接口只包含成员的声明。 派生类负责定义和实现成员。接口通常有助于为派生类提供遵循的标准结构。

抽象类在某种程度上起着相同的作用,但是,当基类只有少数方法声明并且由派生类实现时,才会考虑使用抽象类。

声明接口

接口使用interface关键字声明。 它类似于类声明。 默认情况下,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("1001", "8/10/2017", 578998.00);
            Transaction t2 = new Transaction("1002", "9/10/2018", 5471980.00);
            t1.showTransaction();
            t2.showTransaction();
            Console.ReadKey();
        }
    }
}

当编译和执行上述代码时,会产生以下结果:

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

上一篇: C#运算符重载 下一篇: C#命名空间