zoukankan      html  css  js  c++  java
  • 转载:C#里的一些关键字, sealed, abstract, virtual,

    参考:Abstract and Sealed Classes and Class Members (C# Programming Guide).
    public abstract class A
    {
        // Class members here.
    }
    abstract :必须被继承.

    public abstract class A
    {
        public abstract void DoWork(int i);
    }
    abstract class 里也可包含abstract 方法, 但方法就没有{}, 因为abstract 方法不可以有内容. 继承abstract class 的class 内部必须定义那些abstract 方法, 给他真正的含义.

    // compile with: /target:library
    public class D
    {
        public virtual void DoWork(int i)
        {
            // Original implementation.
        }
    }

    public abstract class E : D
    {
        public abstract override void DoWork(int i);
    }

    public class F : E
    {
        public override void DoWork(int i)
        {
            // New implementation.
        }
    }

    virtual:儿子类看不到的方法, 也就是说不想让儿子看到的方法.

    public sealed class D
    {
    // Class members here.
    }
    sealed:sealed class 不可以做base class,也就是说不可以被继承.当然也不可以和abstract 同时出现, 因为正好互相抵触.
  • 相关阅读:
    性能分析
    单例模式
    装饰者模式
    开发Chrome Extension截取你微博的帐号密码
    201703-3 markdown
    201612-3 权限查询
    201609-3 炉石传说
    201604-2 俄罗斯方块
    201604-3 路径解析
    201512-1 数位之和
  • 原文地址:https://www.cnblogs.com/zhangzheny/p/612094.html
Copyright © 2011-2022 走看看