c#接口使用示例分享
1、接口:
接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于c#语言而言,由于只能继承自一个父类,因此若有多个规则需要实现,则使用接口是个比较好的做法。
2、接口的定义
interface 接口名
{
方法声明;
}
3、不同接口中若有多个相同名称的方法,则需要显式指定接口名,例如:
4、接口的使用
使用接口也可以实现多态。
代码如下:
class program
{
static void main(string[] args)
{
//提供三个类,完成工资的计算
list<icalu> list = new list<icalu>();
list.add(new boss());
list.add(new clert());
list.add(new clert());
list.add(new customer());
foreach (icalu emp in list)
{
emp.calu(); //多态
}
}
}
class boss : icalu
{
public void calu()
{
console.writeline("计算老板工资");
}
}
class customer : icalu
{
public void calu()
{
console.writeline("计算客户工资");
}
}
class clert : icalu
{
public void calu()
{
console.writeline("计算职员工资");
}
}
interface icalu
{
void calu();
}
5、接口应用场合举例
6、接口demo
using system;
using system.collections.generic;
using system.linq; using system.text;
namespace consoleapplication1 {
class program {
static void main(string[] args) {
list<ishow> list = new list<ishow>();
list.add(new map());
list.add(new voice());
list.add(new video());
list.add(new threed());
foreach(ishow ishow in list) {
ishow.show(); }
}
}
interface ishow {
void show(); }
public class map:ishow {
public void show()
{
console.writeline("显示图片"); }
}
public class voice : ishow {
public void show() {
console.writeline("播放声音"); }
}
public class video : ishow {
public void show()
{
console.writeline("显示视频"); }
} public class threed : ishow {
public void show() {
console.writeline("3d交互"); }
}
}