- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace 泛型
- {
- //泛型特性3 继承
- // 泛型类可以执行泛型接口,也可以派生于一个类
- class 泛型的特性
- {
- public static void Main()
- {
- //Derived<int> sub = new Derived<int>();
- 在子类声明时重复父类的类型T,那么,子类父亲类是一样的!(int)
- //sub.PrintInfo(22);
- //sub.SubPrint(22);
- //如果父亲声明为string ,那么,则子类是int 父类是string
- Derived<int> sub = new Derived<int>();
- sub.PrintInfo("22");
- sub.SubPrint(22);
- Console.ReadLine();
- }
- }
- class Base<T>
- {
- public void PrintInfo( T t)
- {
- Console.WriteLine( t );
- }
- }
- //继承一个类时,必须重复或者指定基类的泛型类型!
- class Derived<T> : Base<string> // or Baset<int> 指定
- {
- public void SubPrint( T t)
- {
- Console.WriteLine(t);
- }
- }
- abstract class Calc<T>
- {
- public abstract T Add(T x, T y);
- public abstract T Sub(T x, T y);
- }
- //泛型类的子类不一定非得是泛型类,因为他可以为父类指定具体的类型!
- class SimpleCalc : Calc<int>
- {
- //因为指定了具体类型,所以我们的实现可以用public override int Add(int x, int y) --int
- //否则,本类也必须是泛型类实现变成了public override T Add(int x, int y) ----T
- public override int Add(int x, int y)
- {
- return x + y;
- }
- public override int Sub(int x, int y)
- {
- return x - y;
- }
- }
- }
C#中泛型的特性3-继承
最新推荐文章于 2024-04-28 20:19:05 发布