C#中泛型的特性3-继承

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace 泛型
  6. {
  7.     //泛型特性3 继承
  8.     // 泛型类可以执行泛型接口,也可以派生于一个类
  9.     class 泛型的特性
  10.     {
  11.         public static void Main()
  12.         {
  13.             //Derived<int> sub = new Derived<int>();
  14.             在子类声明时重复父类的类型T,那么,子类父亲类是一样的!(int)
  15.             //sub.PrintInfo(22);
  16.             //sub.SubPrint(22);
  17.             
  18.             //如果父亲声明为string ,那么,则子类是int 父类是string
  19.             Derived<int> sub = new Derived<int>();
  20.             sub.PrintInfo("22");
  21.             sub.SubPrint(22);
  22.             Console.ReadLine();
  23.         }
  24.     }
  25.     class Base<T>
  26.     {
  27.         public void PrintInfo( T t)
  28.         {
  29.             Console.WriteLine( t );
  30.         }
  31.     }
  32.     //继承一个类时,必须重复或者指定基类的泛型类型!
  33.     class Derived<T> : Base<string// or  Baset<int> 指定
  34.     {
  35.         public void SubPrint( T t)
  36.         {
  37.             Console.WriteLine(t);
  38.         }
  39.     }
  40.     abstract class Calc<T>
  41.     {
  42.         public abstract T Add(T x, T y);
  43.         public abstract T Sub(T x, T y);
  44.     }
  45.     //泛型类的子类不一定非得是泛型类,因为他可以为父类指定具体的类型!
  46.     class SimpleCalc : Calc<int>
  47.     {
  48.         //因为指定了具体类型,所以我们的实现可以用public override int Add(int x, int y) --int
  49.         //否则,本类也必须是泛型类实现变成了public override T Add(int x, int y) ----T
  50.         public override int Add(int x, int y)
  51.         {
  52.             return x + y;
  53.         }
  54.         public override int Sub(int x, int y)
  55.         {
  56.             return x - y;
  57.         }
  58.          
  59.     }
  60. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值