C#基础语法(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37813928/article/details/80587764

1.方法覆盖overriding methods

①只有声明为virtual的方法才能被子类覆盖

public virtual void G() {...} //虚方法

②覆盖方法必须被声明为override

class B:A{
    public override void G(){...} //覆盖
}

注意:

覆盖方法必须和原方法有相同的参数和可见性
static方法不能被覆盖

2.泛型Generic Types

泛型类就类似于一个模板,可以在需要时为这个模板传入任何我们需要的类型。

要使用泛型,必须定义泛型类,然后将使用泛型的方法定义为泛型类的方法成员。

访问修饰符 class 类名<T>
{
    泛型类成员定义
}

创建泛型类对象必须明确指定一种数据类型替换掉T,不能使用占位符。

泛型类名<int> 对象名 =new 泛型类名<int>();//定义int类型的泛型对象
void Foo<T>(){
    T x=null;  //error
    T y=0;     //error
    T z=default(T); //ok! 0,'\0',false,null

}


猜你喜欢

转载自blog.csdn.net/qq_37813928/article/details/80587764