转载: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 同时出现, 因为正好互相抵触.
posted @ 2007-01-05 09:31  黑星  阅读(1472)  评论(0编辑  收藏  举报