C#

面向对象(九)-密封类和密封方法 sealed 与抽象类 abs

2017-11-19  本文已影响93人  元宇宙协会

密封类与密封方法


sealed class baseClass{

}

// 错误的写法
class DerivedClass : baseClass { // 任何的类无法继承baseClass

}

class baseClass{
    public virtual void function(){};
}

class DerivedClass : baseClass{
    public sealed override void function(){}; //  可以将重写的方法声明为密封方法,表示该方法不能被重写。
}

抽象类 abstract

可以在父类中定义一个函数或者字段,但是不去实现。
所有继承自该类的子类都必须实现该类中的所有抽象函数,抽象字段。
不可以用抽象类来进行实例化,但可以用抽象类来声明。
但凡某一个类中有一个抽象方法,那么该类也就必须定义为抽象类。
abstract class Enemy
    {
        abstract public void attack();
    }

    class Boss : Enemy
    {
        public override void attack()
        {
            Console.WriteLine("我打人挺疼的");
        }
    }
 abstract class Anima
    {     
        public abstract int Aame
        {
            set;
            get;    
        }
}

class Cat : Anima
{
        private int _aame;
        public override int Aame {
            //get => throw new NotImplementedException();
            //set => throw new NotImplementedException();
            set
            {
               _aame = value;
            }
            get
            {
                return _aame;
            }
}

引用代码出处

作者:silence_k
链接:http://www.jianshu.com/p/ce1252ddf7c6
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

上一篇 下一篇

猜你喜欢

热点阅读