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();
            } 

    }

    }

    抽象类与接口:

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

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

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

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

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

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

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

  • 相关阅读:
    Android OpenGL ES 2.0 (四) 灯光perfragment lighting
    Android OpenGL ES 2.0 (五) 添加材质
    冒泡排序函数
    javascript object 转换为 json格式 toJSONString
    Liunx CentOS 下载地址
    jquery 图片切换特效 鼠标点击左右按钮焦点图切换滚动
    javascript 解析csv 的function
    mysql Innodb Shutdown completed; log sequence number解决办法
    Centos 添加 yum
    javascript 键值转换
  • 原文地址:https://www.cnblogs.com/hnzsb-vv1130/p/4005268.html
Copyright © 2011-2022 走看看