zoukankan      html  css  js  c++  java
  • C# 类(10) 抽象类.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication1
    {
        //定义一个抽象类.
       abstract class MyClass  // abstract关键字表示抽象类. 抽象类不能直接创建对象.
       {
           public abstract void ShowMessage();  //抽象方法只能包含在抽象类中. 但是抽象方法不能有实现过程,必须在子类中实现.
    
           public void SHowMessage()  // 抽象类中也可以包含非抽象方法.
           { Console.WriteLine("我是非抽象的方法"); }
    
           public static void SHOmessage()  // 甚至可以包含静态方法.
           { Console.WriteLine("我是静态方法."); }
       }
    
        //定义上面抽象类的子类.
       class MyClass1 : MyClass
       { 
        //实现父类的抽象方法.
           public override void ShowMessage()  // 实现抽象方法要添加override关键字.
           { Console.WriteLine("我是继承的子类,我实现了父类的抽象方法."); }
       }
        /// <summary>
        /// ///////////////////////
        /// </summary>
        class Program
        {
            static void Main(string[] args)
            {
                //MyClass My = new MyClass();  // 错误的
                MyClass1 MY = new MyClass1();  // 正确的,通过子类创建对象.
    
                MyClass.SHOmessage(); // 虽然抽象类不可以创建对象,但是它的静态方法还是可以直接调用的.
                MY.ShowMessage(); //子类创建的对象使用抽象类中的方法.
            }
        }
    }
  • 相关阅读:
    进程与线程
    二维数组和指向指针的指针
    _variant_t 到 CString 转换
    1.15 构造数独
    单链表的一些操作
    C++关键字(2)——extern
    the seventh chapter
    Visual C++ 数据库开发的特点
    CString 和 LPCTSTR区别【转】
    2.5 寻找最大的K个数
  • 原文地址:https://www.cnblogs.com/mdnx/p/2710512.html
Copyright © 2011-2022 走看看