19._6泛型继承之泛型继承普通类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _19._6泛型继承之泛型继承普通类
{
    public abstract class baseClasss//普通基类的创建
    {
        protected int user_name;//定义字段
        public virtual int user_Name//定义属性
        {
            set { user_name = value; }
            get { return user_name; }
        }

        public baseClasss(int index)//构造函数
        {
            user_name = index;
        }
    public abstract void method(int t);
    }

    public class GenClass<T> : baseClasss
    {
        protected new T user_name;
        public new T user_Name
        {
            get { return user_name; }
        }

        public GenClass(int index) : base(index)
        {

        }

        public GenClass(T t) : base(1000)
        {
            user_name = t;
        }

        public override void method(int t)
        {
            Console.WriteLine("调用方法成功");
        }

        public void method(T t)
        {

        }
    }

    class Program
    {

        static void Main(string[] args)
        {
            int val = 1000;
            GenClass<int> g = new GenClass<int>(val);
            g.method(g.user_Name);
            Console.WriteLine("泛型继承演示成功,泛型继承普通类");
            Console.Read();
        }
    }
}
时间: 2024-10-08 13:49:44

19._6泛型继承之泛型继承普通类的相关文章

19._7泛型继承之泛型类继承普通类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _19._7泛型继承之泛型类继承普通类 { abstract class genClass<T> { protected T field; public virtual T property { get { return field; } } p

继承和泛型

[继承和泛型] 在使用子类一般类型参数时,必须在子类级别重复在基类级别规定的任何约束.例如,派生约束: 基类可以定义其签名使用一般类型参数的虚拟方法.在重写它们时,子类必须在方法签名中提供相应的类型: 您可以定义一般接口.一般抽象类,甚至一般抽象方法.这些类型的行为像其他任何一般基类型一样: 参考:http://msdn.microsoft.com/zh-cn/library/ms379564(VS.80).aspx 继承和泛型,布布扣,bubuko.com

c#泛型使用详解:泛型特点、泛型继承、泛型接口、泛型委托

泛型:通过参数化类型来实现在同一份代码上操作多种数据类型.利用"参数化类型"将类型抽象化,从而实现灵活的复用.在.NET类库中处处都可以看到泛型的身影,尤其是数组和集合中,泛型的存在也大大提高了程序员的开发效率.更重要的是,C#的泛型比C++的模板使用更加安全,并且通过避免装箱和拆箱操作来达到性能提升的目的.因此,我们很有必要掌握并善用这个强大的语言特性. C#泛型特点: 1.如果实例化泛型类型的参数相同,那么JIT编辑器会重复使用该类型,因此C#的动态泛型能力避免了C++静态模板可能

框架学习前基础加强 泛型,注解,反射(泛型&注解)应用案例,IOC,Servlet3.0,动态代理,类加载器

泛型 1. 泛型类 :具有一个或多个类型变量的类,称之为泛型类! class A<T> { } 2. 在创建泛型类实例时,需要为其类型变量赋值 A<String> a = new A<String>(); * 如果创建实例时,不给类型变量赋值,那么会有一个警告! 3. 泛型方法 :具有一个或多个类型变量的方法,称之为泛型方法! class A<T> { public T fun(T t1) {} } fun()方法不是泛型方法!它是泛型类中的一个方法! pu

自定义泛型_无多态_通配符无泛型数组_jdk7泛型使用

通配符 T, K, V, E 等泛型字母为有类型, 类型参数赋予具体的值 ? 未知类型 类型参数赋予不确定值, 任意类型 只能用在 声明类型上,方法参数上, 不能用在定义泛型类上 上限 extends, 指定类型必须是继承某个子类. 或者实现某个接口 (不是用 implements), 即 <= 如 ? extends Fruit ? extends List 不能添加信息 存在以下规则, 如 List<Fruit> 满足 List<? extends Fruit> List

[泛型]C# 之泛型详解

什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同.有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的.读完本篇文章,你会对泛型有更深的了解. 为什么要使用泛型为了了解这个问题,我们先看下面的代码,代码省略了一些内容,但功能是实现一个栈,这个栈只能处理int数据类型: publi

Java中泛型区别以及泛型擦除详解

一.引言 复习javac的编译过程中的解语法糖的时候看见了泛型擦除中的举例,网上的资料大多比较散各针对性不一,在此做出自己的一些详细且易懂的总结. 二.泛型简介 泛型是JDK 1.5的一项新特性,一种编译器使用的范式,语法糖的一种,能保证类型安全.[注意:继承中,子类泛型数必须不少于父类泛型数] 为了方便理解,我将泛型分为普通泛型和通配泛型 三.泛型分类 1.普通泛型 就是没有设置通配的泛型,泛型表示为某一个类. 声明时: class Test<T>{...} 使用时: Test<Int

C++中的类继承之单继承&amp;多继承&amp;菱形继承

 C++中的类继承之单继承&多继承&菱形继承 单继承是一般的单一继承,一个子类只 有一个直接父类时称这个继承关系为单继承.这种关系比较简单是一对一的关系: 多继承是指 一个子类有两个或以上直接父类时称这个继承关系为多继承.这种继承方式使一个子类可以继承多个父类的特性.多继承可以看作是单继承的扩展.派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承.多继承下派生类的构造函数与单继承下派生类构造函数相似,它必须同时负责该派生类所有基类构造函数的调用.同时,派生类的参数个数必须包

c++继承详解:共有(public)继承,私有继承(private)继承,保护(protected)继承

公有继承(public)继承.私有继承(private).保护继承(protected)是常用的三种继承方式. 1.公有继承(public) 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问. 2.私有继承(private) 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问. 3.保护继承 保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,