例子: 卖家接口Iseller -对应- 三家卖家公司SellerA SellerB SellerC
public interface Iseller
{
void GetItem();
void SendItem();
void GetMoney();
}
class SellerA : Iseller
{
public void GetItem() { Console.WriteLine("我从欧洲取货物."); }
public void GetMoney(){ Console.WriteLine("Vxx 收钱."); }
public void SendItem(){ Console.WriteLine("我用飞机送货上门."); }
}
class SellerB : Iseller
{
public void GetItem(){ Console.WriteLine("我从非洲取货物."); }
public void GetMoney(){ Console.WriteLine("银行卡A 收钱."); }
public void SendItem(){ Console.WriteLine("我用轮船送货上门."); }
}
class SellerC : Iseller
{
public void GetItem(){ Console.WriteLine("我从澳洲取货物."); }
public void GetMoney(){ Console.WriteLine("现金方式 收钱."); }
public void SendItem(){ Console.WriteLine("我用火车送货上门."); }
}
什么是接口:统一交流方式,需要交流方共同遵守.
如:两孔插座,可以让很多电器电源插入持续获取电力
电脑主机内的插座,内存的 硬盘的 显卡的 都有固定规格
所以尝试给接口起个别名(个人理解):统一接口,交流类,对接协议
比如在什么场景中使用:
多方做同样的事情但是过程不同,
如: 一个项目因为特殊原因使用了多个不同的数据库mySql oracle、
sqlserver,
解答:可以使用接口来统一交流方式
一个项目数据库接口 派生出3个具体数据库类
这样更方便使用 简化代码 .
特点:
. 接口与抽象类一样 继承的非抽象类型 需要实现接口的所有成员
. 接口与抽象类一样 不能直接实例化.
. 接口可以有方法/属性 , 不能有方法的实现。
. 接口的成员包括 方法,属性
继承特点:
可以继承: 唯一的一个基类
可以继承:一个接口 / 多个接口
可以继承:一个基类 + 1个接口 / 多个接口
class SellerA : People, Iseller, IsellerB ,IsellerC
{
}
// people基类需要放前面 , 接口 Iseller, IsellerB, IsellerC