本人是初学菜鸟,有错误的地方欢迎大家指正。
接口:何为接口?
定义:是面向对象的重要组成部分。负责功能的定义,但不具体实现。可被类和结构继承,并且,一个类,可以继承多个接口。接口可从其他接口派生。
同时,继承接口的类,必须实现该接口的全部功能,比如方法的实现。
特点:接口成员不能加任何修饰符,但接口本身可以有访问修饰符,非嵌套时只能用 inernal和public,嵌套定义时,可以用任意访问修饰符,接口没构造函数,无字段,接口不能用static virtual,abstract和sealed定义。
个人理解(欢迎指正):接口就像是一套约定或规则。比如一个接口定义了 播放 的方法。那么,若一个 类 叫电视,继承了该接口,那么它就必须能够实现 播放功能(方法)。同时一个一个电视可以继承多个接口。比如 若接口2,定义usb连接的方法。接口3上定义 上网的方法。这个电视继承了这些接口,就要实现播放,usb识别,上网的功能。
接口的相关编程
interface prints //接口的编程:
{
string Name
{get;set;}
string Type
{get;set;}
void printStar(int starNumber);
void printSharp(int sharpNumber);
}
class printer :prints//继承了接口prints的类printer.
{
private string name;
public string Name//具体的属性定义
{
get { return name; }
set { name = value; }
}
private string type;
public string Type//具体的属性定义
{
get { return type; }
set { type = value; }
}
public printer(string N, string T)//类的构造函数
{
Type = T;
Name = N;
}
public printer()//类的构造函数
{
;
}
public void printStar(int n) //打印*方法的具体实现
{
Console.WriteLine("Printer Name :"+Name);
Console.WriteLine("Printer Type :" + Type);
for (int i = 0; i < n;i++ )
Console.Write("*");
Console.WriteLine();
}
public void printSharp(int n)//打印#方法的具体实现
{
Console.WriteLine("Printer Name :" + Name);
Console.WriteLine("Printer Tyoe :" + Type);
for (int i = 0; i < n;i++ )
Console.Write("#");
Console.WriteLine();
}
}
//
//……
//
static void Main(string[] args) //继承接口的类的使用
{
// Console.Write\n");
printer Z1 = new printer("HP2010","LED"); //定义了printer(打印机) Z1的型号和类型
Z1.printSharp(10); //打印10个#
Z1.printStar(10); //打印10个*
}
//输出结果
Printer Name :H
Printer Tyoe :L
##########
Printer Name :H
Printer Type :L
**********