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