C#拾遗之小知识(四):继承

黄舟
Lepaskan: 2017-02-07 15:17:08
asal
1349 orang telah melayarinya

方法重写:

    基类方法标识virtual关键字,子类(继承类)中方法重写标识override关键字。

    重写的方法必须跟基类的类型相同,如方法名称、返回和接受参数。

  public class Class1
    {
        public virtual void show(int i)
        {……}
    }
    public class Class2:Class1
    {
        public override void show(int a)
        {……}
    }
Salin selepas log masuk

New方法重写:

    public class Class1
    {
        protected virtual void show(int i)
        {……}
    }
    public class Class2:Class1
    {
        public new int show(int a)
        {……}
    }
Salin selepas log masuk

new声明定义自己的同名方法。返回类型、访问类型可以不同于基类的同名方法。

如果接受参数不同于基类同名方法时new关键字会多余,相当于一般重写(基类没有一样的方法,没有一样的隐藏方法)。

override重写基类方法(隐藏方法)的方法体,new重写基类同名方法(接收参数一样)。

终止继承:

终止继承标识sealed。以下代码编译出错,Class2无法继承封闭类Class1

public sealed class Class1
    {
        public virtual void show(int i)
        {……}
    }
    //public class Class2:Class1
    //{
    //    public override void show(int a)
    //    {……}
    //}
Salin selepas log masuk

调用基类构造函数:

编译器先调用基类构造函数,再调用继承类构造函数。

  public class Class1
    {
        public Class1(int i , string j)
        {……}
    }
    public class Class2:Class1
    {
        public Class2(int i,string j,object obj):base(i,j)
        {……}
    }
Salin selepas log masuk

以上就是C#拾遗之小知识(四):继承的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!