泛型继承之开放与封闭及泛型接口的使用
泛型继承之开放与封闭
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了五常免费建站欢迎大家使用!
泛型类没有具体的数据类型,它也具有普通类的继承规则,不同的是在泛型类继承上,基类和派生类可能只有一个泛型类也可能二者都是泛型类。
C#语音中,所有的类型可分为开放类型和封闭类型两部分。
开放类型:尖括号中没有指定具体的类型时就是开放类型
封闭类型:尖括号中指定了具体的类型时就是封闭类型
泛型继承之 泛型类继承普通类
它和类继承是一样的
1)、派生的泛型类可以从普通基类中继承各种成员;
2)、隐藏基类中的同名成员;
3)、通过重写来实现多态。
需要注意的是:不能用派生的泛型类中任何涉及到的成员来重载基类中的成员。
泛型继承之 普通类继承泛型类
由于基类和派生类都是封闭类型,基类和派生类的类型可以直接确定。
泛型继承之 泛型类继承泛型类
泛型类和泛型类直接的继承要注意以下四种情况:
1)、在定义一个泛型类之后,它自身或者它的某个构造类型都可能成为基类。
2)、如果泛型定义了多个参数,除了泛型类本身,其封闭的构造类型和开放的构造类型都可以作为其他泛型类的基类。
3)、基类中如果出现了类型参数,那么这些类型参数都必须在派生类的定义中出现。
4)、如果基类和派生类中同时出现了某个类型参数,那么二者的含义是一致的,它们指代同一个开放类型,而最终在使用时会被同一个封闭类型取代。
泛型接口的使用
接口也可以定义为泛型接口,接口中的方法可以带泛型参数,泛型接口为排序和比较以及由泛型集合类型共享的功能提供了与非泛型接口对应的类型安全的泛型接口,泛型接口是比普通接口更为抽象的数据类型,可以指定一个或多个类型参数,也可以为类型参数添加类型限制,而泛型接口本身也可以用于类型限制。
泛型接口和泛型类类似,在类型限制的定义中,要求用于限制的接口要么是封闭类型(即不含类型参数),要么所含的类型参数在所定义的泛型接口的类型参数中出现。
接口是抽象的数据类型,它只可以有方法成员,而且只定义方法的标识而不能有方法体。泛型接口所定义的类型参数可以在其方法成员中作为参数或返回类型来使用。作为方法参数使用时,可以是引用参数、输出参数和数组参数。
当前名称:泛型继承之开放与封闭及泛型接口的使用
分享路径:http://hbruida.cn/article/edshdi.html