问答详情
源自:2-3 虚方法和多态

virtual和new关键字应该放在public前还是后呢?其它地方看到的都是public virtual void***,两种写法一样吗?

virtual和new关键字应该放在public前还是后呢?其它地方看到的都是public virtual void***,两种写法一样吗?

提问者:沙粒2017 2018-04-18 11:46

个回答

  • CashQQJ
    2018-04-18 18:44:04
    已采纳

    题主所指的new是子类里隐藏父类方法的关键字,不是新建实例关键字。

    virtual是虚函数关键字,修饰父类里的函数,子类可以用override重写该函数。

    virtual一般用在父类里,new一般用在子类里,其是成员修饰符。public是访问修饰符,用来限制访问权限。

    在c#里还有一种修饰符是类修饰符,例如:abstract。

    书写顺序习惯上一般是:访问修饰符 + 类修饰符,或者:成员修饰符 + 类修饰符

    但是不按照上面的顺序书写,编译器也不会报错,只是不太常用而已。

  • KennethLgc
    2018-04-18 17:04:30

    virtual是虚方法的,当子类继承基类的时候可以OverWrite重写方法。new关键字只是新建一个对象;

  • CashQQJ
    2018-04-18 16:55:30

    两种写法是一样的。