十三 接口

其实接口就语法来说 基本没什么可说的

/// <summary>
/// 接口的命名 最好以 Ixxxx 开头 算是规范吧
/// 定义返回值 和 参数 不能实现方法
/// 不能定义字段 但是 可以定义属性
/// </summary>
interface Iaaa
{
//string aaa; 这样会报错
void aaa(string aa);
string bbb { set; } //可以定义属性
}

/// <summary>
/// 接口可以继承接口
/// 但是这里作者说 接口的继承和普通的继承不是一样
/// 是契约形式 这里我也说不清楚
/// </summary>
interface Ibbb : Iaaa
{
//void aaa(string aa);
}

/// <summary>
/// 这里继承与接口的方法 必须显示标记为 public
/// </summary>
public class bbb : Ibbb
{

public void aaa(string aa)
{
throw new NotImplementedException();
}

string Iaaa.bbb
{
set { throw new NotImplementedException(); }
}
}

关于 显示实现接口 和 实现接口

 void IDisposable.Dispose()
{
Console.WriteLine(
"b1");
}

显示实现接口,不允许指定访问性,但是编译器会将他自动设置为 private

public void Dispose()
{
Console.WriteLine("a1");
}



其实重点还是在接口和基类的使用上

这里是书上说的4点

1. IS-A vs. CAN-DO  “属于” 和 “能做”  

属于 就是 基类 和 派生类 有从属关系

能做 就是多个类都有的某个功能 比如 ToJson 就应该提升为接口

public class 基类 : ToJson { }

public class 派生类 : 基类 { }

2.易于使用

从基类中继承, 基类本来就能提供很多方法

相对的 从接口中继承 就一个一个实现吧

3.一致性的实现

还是为基类说话, 强调基类中的默认实现

4.版本控制

同样是为基类说话

基类新加入一个方法,下面的类只用使用就完了

而接口 啊哈 一个类一个类的改吧

以上就是书上的对 基类和接口的使用下的定义

其实个人感觉

基类就像一个实体,像一个标准的事物,比如

public class 动物 {}

他下面可以派生人,鸟之类的

而接口更偏向于功能和规范

比如动物都能呼吸,都有年龄

interface  breathe {}

interface age {}

这就是我使用他们的标准~

over~

2011年9月18日19:41:03

转载于:https://www.cnblogs.com/CallMeTommy/archive/2011/09/18/2173403.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值