zoukankan      html  css  js  c++  java
  • C#中Abstract 与 Virtual

    Abstract classes have the following features:

    • An abstract class cannot be instantiated.

    • An abstract class may contain abstract methods and accessors.

    • It is not possible to modify an abstract class with the sealed (C# Reference) modifier, which means that the class cannot be inherited.

    • A non-abstract class derived from an abstract class must include actual implementations of all inherited abstract methods and accessors.

    Use the abstract modifier in a method or property declaration to indicate that the method or property does not contain implementation.

    Abstract methods have the following features:

    • An abstract method is implicitly a virtual method.

    • Abstract method declarations are only permitted in abstract classes.

    • Because an abstract method declaration provides no actual implementation, there is no method body; the method declaration simply ends with a semicolon and there are no curly braces ({ }) following the signature.

    •  The implementation is provided by an overriding method override (C# Reference), which is a member of a non-abstract class.

    • It is an error to use the static or virtual modifiers in an abstract method declaration.

    Abstract properties behave like abstract methods, except for the differences in declaration and invocation syntax.

    • It is an error to use the abstract modifier on a static property.

    • An abstract inherited property can be overridden in a derived class by including a property declaration that uses the override modifier.

    When a virtual method is invoked, the run-time type of the object is checked for an overriding member. The overriding member in the most derived class is called, which might be the original member, if no derived class has overridden the member.

    By default, methods are non-virtual. You cannot override a non-virtual method.

    You cannot use the virtual modifier with the static, abstract, private or override modifiers.

    Virtual properties behave like abstract methods, except for the differences in declaration and invocation syntax.

    • It is an error to use the virtual modifier on a static property.

    • A virtual inherited property can be overridden in a derived class by including a property declaration that uses the override modifier.

  • 相关阅读:
    第2层交换和生成树协议(STP)__散知识点
    OSPF
    EIGRP和OSPF__EIGRP
    EIGRP和OSPF__邻居发现
    IP路由__距离矢量路由选择协议
    IP路由__动态路由
    IP路由__静态路由
    IP路由__IP路由选择过程
    Cisco的互联网络操作系统IOS和安全设备管理器SDM__CDP
    Cisco的互联网络操作系统IOS和安全设备管理器SDM__备份和恢复Cisco 配置
  • 原文地址:https://www.cnblogs.com/stragon/p/2093648.html
Copyright © 2011-2022 走看看