接口是一种为所有继承接口的类定义需要遵循的语法约定。接口定义了语法约定的“是什么”部分,派生类定义了语法约定的“如何实现”部分。
接口定义属性,方法和事件,它们是接口的成员。 接口只包含成员的声明。 派生类负责定义和实现成员。接口通常有助于为派生类提供遵循的标准结构。
抽象类在某种程度上起着相同的作用,但是,当基类只有少数方法声明并且由派生类实现时,才会考虑使用抽象类。
声明接口
接口使用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