接口(c#)

接口

  1. 接口的定义与实现
  2. 隐式实现,显示实现的区别
  3. 哪些东西可以被继承
  4. 接口中有哪些成员
namespace 接口
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }

    class Bird
    {

    }

    class Transport
    {

    }

    class Mahjong : Bird
    {

    }

    //如果一个类继承了别的类又继承了接口,那么基类必须写在所有的接口之前
    //如果一个类继承了某个接口,那么必须将接口中的所有的成员全部实现一遍(把函数都写出来)
    //隐式实现接口的话,对应的函数前必须加上public,如果使用快速实现(alt + enter)的话会自动加上public
    //显示实现接口的话,对应函数前就不能加任何访问权限修饰符


    //那些东西可以被继承
    //类,接口
    //类可以继承于类或接口,结构体只能实现接口
    //接口可以集成另一个接口,在类继承该接口时,也同样要实现出所有继承链上的抽象函数
    //一个类实现了某个接口 == 一个类继承了某个借口

    //接口中可以有哪些成员
    //1、函数的声明
    //2、属性的声明(只能比声明的访问器写的多,不能比声明的访问器写得少)
    //3、索引器的声明
    //4、事件的声明

    struct Car : IFly
    {
        public int Num { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

        public void Fly()
        {
            throw new NotImplementedException();
        }

        public void Run()
        {
            throw new NotImplementedException();
        }
    }


    class Plane : Transport, IFly, ISuperFly
    {
        int IFly.Num { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

        //public void Fly()
        //{

        //}
        void IFly.Run()
        {
            throw new NotImplementedException();
        }

        void ISuperFly.Fly()
        {
            throw new NotImplementedException();
        }
    }


    //接口无法直接被实例化
    //在c#代码中,定义接口,接口名的首字符为大写字母I,用于表示这是一个接口
    //在接口中只能够存在行为,且是一种高度抽象的行为(不用实现的方法或者函数称为高度抽象的-行为)
    interface IFly : ISuperFly
    {
        //函数的声明(没有具体去写函数的函数体)
        //只声明没有具体的函数体的函数,我们称为抽象函数
        //在接口中,函数的声明前不能加任何的访问权限修饰符
        void Run();

        //属性的声明
        int Num { get; set; }
    }

    interface ISuperFly  
    {
        void Fly();
    }

}

注意:

1.在c#代码中,定义接口,接口名的首字符为大写字母I,用于表示这是一个接口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值