C#学习之泛型继承和静态成员
2014-09-21 11:27
344 查看
想要理解这里有必要先将泛型类学习充分。这里讲解的是泛型类继承类的类型和静态成员。
在前面C#学习之泛型中,创建的LinkList<T>类实现了IEnumerable<T>接口。
即泛型类也可以实现泛型的接口,也可派生自一个类。泛型类也可以派生自泛型基类。
public class Base<T>
{
}
public class Derived<T>:Base<T>
{
}
也可以指定基类的类型,可以执行某些特定操作
public class Derived<T>:Base<string>
{
}
一个泛型类也可以有具体类型的派生类。
例如
public class Derived: Base<T>
{
}
泛型类的静态成员只能在类的一个实例中共享。就是说确定了一个T类型后,然后对静态成员的赋值就会在这个类型中共享,
而再次定义的其他类型,就必须重新赋值。
例如:
public class Base<T>
{
static int x;
}
Base<int>.x=5;
Base<string>.x=3;
Console.writeline(Base<int>.x);//show 5;
console.writeline(Base<string>.x);//show 3
在前面C#学习之泛型中,创建的LinkList<T>类实现了IEnumerable<T>接口。
即泛型类也可以实现泛型的接口,也可派生自一个类。泛型类也可以派生自泛型基类。
public class Base<T>
{
}
public class Derived<T>:Base<T>
{
}
也可以指定基类的类型,可以执行某些特定操作
public class Derived<T>:Base<string>
{
}
一个泛型类也可以有具体类型的派生类。
例如
public class Derived: Base<T>
{
}
泛型类的静态成员只能在类的一个实例中共享。就是说确定了一个T类型后,然后对静态成员的赋值就会在这个类型中共享,
而再次定义的其他类型,就必须重新赋值。
例如:
public class Base<T>
{
static int x;
}
Base<int>.x=5;
Base<string>.x=3;
Console.writeline(Base<int>.x);//show 5;
console.writeline(Base<string>.x);//show 3
相关文章推荐
- C# 静态成员和方法的学习小结(转)
- 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]
- C# 静态成员和方法的学习小结
- C# 静态成员和方法的学习小结
- c#学习系列之静态类,静态构造函数,静态成员,静态方法(总之各种静态)
- C#: 静态成员和方法的学习小结
- 编写高质量代码改善C#程序的157个建议——建议33:避免在泛型类型中声明静态成员
- C# 静态成员和方法的学习小结
- 编写高质量代码改善C#程序的157个建议[优先考虑泛型、避免在泛型中声明静态成员、为泛型参数设定约束]
- C# 静态成员和方法的学习小结
- C#避免在泛型类型中声明静态成员
- C# 静态成员和静态方法 学习笔记
- C#学习之静态成员和非静态成员,构造函数,方法,方法参数,操作符重载,事件
- (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义03--静态和实例类成员
- C#基础知识复习1代码规范-执行流程(c#)-面向对象-引用命名空间-封装-继承-访问修饰符-虚方法-静态成员-多态-抽象类等
- C#学习:静态成员
- C#中泛型特性4-静态成员
- C# 静态成员和方法的学习小结
- C#中静态构造函数的学习
- c#2.0泛型学习(一)