接口的使用场景
2023-01-14 本文已影响0人
山猪打不过家猪
1.
- 继承之间只可以是同类的,比如动物类,动物都可以跑,人可以跑,猪可以跑,狗也可以跑,但是,现在又一个新的类,汽车类,汽车和动物没有任何关系,但是它们都有跑的这个功能,此时就需要使用接口,这样汽车和动物在继承跑这个接口后,都可以实现了跑的功能
- 接口是一种规范,是一种合约
构造函数时,传入接口
class Company
public Company(IKanMen IKanMen)
{
this.ObjKanMen = IKanMen;
}
public IKanMen ObjKanMen{get;set;}
- 在实例化的时候,只需要传入,实现
IKanMen
接口的实例即可,不用给不同的类型重写构造函数
Company company = new Company(new Dog());
company.ObjKanMen.KanMen();
Company company = new Company(new BaoAn());
company.ObjKanMen.KanMen();
不使用接口的话,每次有新的具有看门功能类型添加时候,都要添加新的构造函数
class Company
public Company(BaoAn BaoAn)
{
this.BaoAan = BaoAn;
}
public BaoAn BaoAn{get;set;}
public Company(Dog dog)
{
this.Dog = dog;
}
public Dog Dog{get;set;}