zoukankan      html  css  js  c++  java
  • C#实现多态之一抽象

    1. 抽象类、抽象方法、抽象属性的特点

    (1)      关键字:abstract

    (2)      抽象类只能是其他类的基类

    (3)      抽象成员必须存在于抽象类中,但抽象类可以没有抽象成员,也可以有非抽象成员

    (4)      抽象方法中没有方法体(方法的声明只有以分号结束,而且签名后没有大括号),抽象属相没有访 问器,但是必须要声明,它告诉编译器必须重写该方法以提供他们自己的实现

    (5)      抽象方法、属性必须在子类全部中重写(实现)

    (6)      抽象方法、属相不能是静态的,因为静态的不可继承

    2. 抽象类的实现

    (1)      实现抽象成员关键字:override

    (2)      虽然抽象类不能实例化,但是可以在父类的对象中存放它的子类成员的实例

    Ps:里氏替换原则,基类可以被任何的子类替换掉

    (3)      在判断子类的过程中使用is运算符来检查对象运行时的类型



    1. using System;
    2.   namespace Demo1
    3.   {
    4.     public abstract class ParentClass
    5.     {
    6.       public ParentClass()
    7.       {
    8.         Console.WriteLine("父类构造函数");
    9.       }
    1.       public abstract void SayHello();
    1.       }
    2.       public class ChildClass : ParentClass
    3.       {
    4.       public ChildClass()
    5.       {
    6.         Console.WriteLine("子类构造函数");
    7.       }
    8.       public override void SayHello()
    9.       {
    10.         Console.WriteLine("我是子类");
    11.       }
    12.       public static void Main()
    13.       {
    14.         ChildClass child = new ChildClass();
    15.         child.SayHello();//显示"我是子类"
    16.         Console.ReadKey();
    17.       }
    18.     }
    19.   }






    版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。

  • 相关阅读:
    asp.net的Context.Cache缓存过期策略
    sql语句执行时算术运算导致溢出。
    sqlserver进行join的方式选择
    Apollo配置中心
    sqlserver的left join优化
    iis设置上传文件大小限制
    Android中的颜色值
    Network authentication method and device for implementing the same
    MongoDB GridFS
    MongoDB 正则表达式
  • 原文地址:https://www.cnblogs.com/Percy_Lee/p/4827025.html
Copyright © 2011-2022 走看看