C sharp 接口、泛型

接口

        如何创建接口
                interface关键词   接口名

        接口相比类,最大的不同之处在于,只有定义没有实现

        接口相当于一堆骨架,实现接口的类,用于填充骨架上的肉

        接口不能进行实例化,只能被类或其他接口实现

        如继承类,又实现接口时,类要放在最前面,接口放在后面

                比如:

                        class  Square : Cube , IArea , IVolumn

        类和结构体都可以去实现接口

抽象类和接口

        相同点

                两者都不能被实例化

                两者都包含了由其他类或结构继承或实现的抽象成员

        不同点

                抽象类当中除了拥有抽象成员外还可以拥有非抽象成员;而接口中所有的

                        成员都是抽象的

                抽象成员可以使用修饰符修饰,接口当中接口成员访问级别是默认不可修改的,

                        并且默认是public

                接口当中不可以包含构造方法,析构方法,静态成员以及常量

                C#类只支持单继承,接口支持多继承

泛型

        如何创建泛型

                访问修饰符  返回值类型  方法名<>  (参数列表)

        有些时候重载的方法只有参数类型不同,其他的都一样,这时就可以使用泛型

        泛型:需要用户自己传过来的一个数据类型

        平时方法里传的是参数,参数是一个变量,参数传递用的是小括号()

        而泛型传递的是一个数据类型,反省传递用的是尖括号<>

        泛型定义之后,一定要用,不然就没有意义

                泛型都在方法的哪里用

                        定义参数

                        在方法体内使用参数定义局部变量

                        设置返回值类型是一个泛型

        给泛型添加约束

                方法名  (参数列表)  where  泛型  :  约束内容

                方法名  (参数列表)  where  泛型 A :  约束内容1,约束内容2  where  泛型 B :  约束内容3

         关于泛型方法的重载

                如果泛型的个数不同,可以重载

                如果泛型的个数相同,约束不同,不可以重载

        接口中的泛型

                在类实现某个泛型接口时,必须给接口设置好真实的数据类型

                        不能在传入类的泛型  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值