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

    概述:一个不与具体事物相联系的类,只是表达一种抽象的概念,仅作为其派生类的一个基类,提供多个派生类可共享的基类的公共定义。

    声明:访问修饰符  abstract   class    类名:基类或接口 

              {  //类成员  }

               说明:除abstract 、class 和类名外,其他都可省略

    与非抽象类的区别:抽象类不能直接实例化;抽象类可包含抽象成员,非抽象类中不可包含抽象成员;抽象类不能被密封。

    抽象方法:抽象类在声明方法时加上abstract关键字,且只是声明引入了一个新方法,而不提供该方法的实现,所以方法体中只有一个分号

                   必须声明在抽象类中,不能使用virtual、static、private修饰符

    注意:当从抽象类中派生一个非抽象类时,需要在非抽象类重写抽象方法,以提供具体的实现,使用override关键字

    实例:

    namespace _抽象类与抽象方法.cs

    {    

    public abstract class myClass   

      {       

      string id = "";

            public string Id     //编号属性及其实现        

    {             get { return id; }             set { id = value; }         }       

      string name = "";

            public string Name   //姓名属性及其实现        

    {             get { return name; }             set { name = value; }        

    }        

    public abstract void ShowInfo();     //抽象方法,用来输出信息     }

        public class DriveClass : myClass       //继承抽象类    

    {      

       public override void ShowInfo()     //重写抽象类中输出信息的方法      

       {             Console.WriteLine(Id +""+Name);         }   

    class Program
        {
            static void Main(string[] args)
            {
                DriveClass driveclass = new DriveClass();
                myClass myclass = driveclass;
                myclass.Id = "BH0001";
                myclass.Name = "TM";
                myclass.ShowInfo();
                Console.ReadKey();
            } 

    }

    }

    抽象类与接口:

             抽象类和接口都包含可以有派生类继承的成员,它们都不能直接实例化,但可以声明它们的变量。

             抽象类主要用作对象系列的基类,共享某些主要特性,例如共同的目的和结构;接口主要用于类,这些类在基础水平上有所不同,

    但任可以完成某些相同的任务。

             区别:派生类只能继承一个基类即只能继承一个抽象类,但可以继承任意多个接口

                      抽象类中可以定义成员的实现,但接口不可以

                      抽象类中可包含字段、构造函数、析构函数、静态成员或常量等,接口不可以

                      接口中的成员必需是共有的,但抽象类可以是其他的

  • 相关阅读:
    交互式shell和非交互式shell、登录shell和非登录shell的区别
    cocos2d-x入门笔记(1)
    《你的知识需要管理》读后感悟以及笔记
    Qt入门之信号与槽机制
    《程序员的思维修炼》读书笔记以及感悟
    Py邮件
    2018-2019 20165226 Exp9 Web安全基础
    2018-2019 20165226 Exp 8 Web基础
    2018-2019 20165226 Exp7 网络欺诈防范
    2018-2019 20165226 Exp6 信息搜集与漏洞扫描
  • 原文地址:https://www.cnblogs.com/hnzsb-vv1130/p/4005268.html
Copyright © 2011-2022 走看看