zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法

          在C#中可以定义抽象类作为基类。抽象类是指只能作为基类使用的类。抽象类用于创建派生类,本身不能实例化,也就是不能创建对象。抽象类使用关键字absteract修饰。

          抽象类定义格式如下: 

    abstract class 类名
    {
           类成员定义
    }

           抽象类中的成员可以是抽象成员,也可以是非抽象成员。可以从抽象类派生新的抽象类,也可以派生出非抽象类。如果派生类是非抽象类,那么该派生类必须实现基类中所有抽象成员。

          

           抽象方法:

                     抽象方法只存在于抽象类的定义中,非抽象类中不能包含抽象方法

                     抽象方法的定义格式为:

                 访问修饰符 abstract 返回值类型 方法名(参数表);

                       抽象方法使用关键字abstra修饰,只需要给出方法的函数头部分,一分号结算。注意,抽象方法不包含实现部分,没有函数的花括号部门。如果给出花括号,则出错。

             抽象类与抽象方法实例:

     class Program
        {
            static void Main(string[] args)
            {
                S s1 = new S();
                s1.Test(3);
                Console.ReadKey();
            }
        }
        abstract class T
        {
            public abstract void Test(int x);
        }
        class S : T
        {
            public override void Test(int x)
            {
                Console.WriteLine($"x={x}");
            }
        }

             程序输出结果为: x=3;

           派生类S中需要重写抽象类中的抽象方法Test,因此使用override关键字。注意,类T是抽象类。如果使用new T(),将出错。

          如果希望基类中的一个方法要包含在所有派生类中,可以将基类定义为抽象类,将该方法定义为抽象方法,则基类的所有派生类的所有派生类的定义中都必须重写实现该方法。

            

     

  • 相关阅读:
    mysql总结
    git总结
    转:如何判断一家公司的好坏
    路越走越窄,尤其做技术的
    百度面试总结
    背叛
    which和whereis 命令
    bzoj3263 陌上花开 CDQ模板
    bzoj 2653middle
    暑假第十九测
  • 原文地址:https://www.cnblogs.com/ljknlb/p/7998851.html
Copyright © 2011-2022 走看看