NET CLR via C#读书笔记 - 第十三章 接口

1 接口基础介绍

1.1 接口概念

接口是对一组方法签名进行统一命名,但不提供任何实现,除此之外,接口还可定义事件,无参属性和有参属性(C#索引器),C#禁止接口定义任何静态成员和常量(CLR是允许的)。
CLR不支持多继承,接口可以看做是一种缩水版的多继承机制。

1.2 接口继承特点

凡是能够使用具名接口类型实例的地方,都能使用实现了接口的一个类型的实例。

1.3 接口定义

在CLR中,接口定义就是类型定义,CLR将为类型接口对象定义内部数据结构,通过反射机制查询接口类型功能。
接口可在文件范围定义,也可以嵌套定义,定义时也可以指定你所希望赋予的任何可见性和可访问性。
按照约定,接口类型名称统一使用大写字母I开头。
接口定义可以从另一个或多个接口“继承”,接口继承工作方式与类继承不同,只是可以简单理解成“继承”。

1.4 接口继承示例

public sealed class point : IComparable<point>
{
    private int m_x, m_y;
    public point(int x,int y)
    {
        m_x = x;
        m_y = y;
    }

    public int CompareTo(point other)
    {
        return Math.Sign(Math.Sqrt(m_x * m_x + m_y * m_y) - Math.Sqrt(other.m_x * other.m_x + other.m_y * other.m_y));
    }

    public override string ToString()
    {
        return string.Format("({0},{1})",m_x.ToString(),m_y.ToString());
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值