C#高级编程之Sealed修饰符

发布时间:2020-07-11 20:14:10 作者:刺激乐天派
来源:网络 阅读:522

1.sealed 修饰符用来干什么的呢?

    a.修饰类时,表示被修饰的类不能再继承。不可以和abstract一起用,因为意义相反。

    b.修饰方法或者属性,表示被修饰方法或者属性不可以被重写。必须和 override 关键字一起使用。

因为使用 sealed 修饰符的方法或属性肯定是基类中相应的虚成员。

    

    通常用于实现第三方类库时不想被客户端继承,或用于没有必要再继承的类以防止滥用继承造成层次结构体系混乱,恰当的利用sealed修饰符也可以提高一定的运行效率,因为不用考虑继承类会重写该成员。


案例:

    代码如下

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

namespace Test
{
    class Program
    {
        public enum timeofday
        {
            Morning=0,
            Afternoon =1,
            Evening=2

        }
        static void Main(string[] args)
        {

            Customer c = new Customer();
            c.show(3);
            

        }

        class A
        {
            public virtual void F()
            {
                Console.WriteLine("A.F");
            }
            public virtual void G()
            {
                Console.WriteLine("A.G");
            }
        }

        class B : A
        {
            /// <summary>
            /// 密封一个方法
            /// </summary>
            public sealed override void F()
            {
                Console.WriteLine("B.F");
            }
            public override void G()
            {
                Console.WriteLine("B.G");
            }
        }

        class C : B
        {
            public override void G()
            {
                Console.WriteLine("C.G");
            }
        }
    }
}


推荐阅读:
  1. 每天学一点Scala之sealed
  2. 深入浅出OOP(五): C#访问修饰符(Public/Private/Protected/Internal/Sealed/Constants)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

关键字 abstract public

上一篇:Centos 6安装nagiosgraph,解决RRDs, GD检查失败,以及rrds no data的问题

下一篇:EKL PHP 调取_search接口查询登录统计

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》