4.abstract 是什么意思?

答: abstract 修饰符可以用于类、方法、属性、事件和索引指示器(indexer),表示其为抽象成员 abstract 不可以和 static 、virtual 一起使用声明为 abstract 成员可以不包括实现代码,但只要类中还有未实现的抽象成员(即抽象类),那么它的对象就不能被实例化,通常用于强制继承类必须实现某一成员。

示例:

Codeusing System;using System.Collections.Generic;using System.Text;

namespace Example04{    #region 基类,抽象类    public abstract class BaseClass    {        //抽象属性,同时具有get和set访问器表示继承类必须将该属性实现为可读写        public abstract String Attribute        {            get;            set;        }

        //抽象方法,传入一个字符串参数无返回值        public abstract void Function(String value);

        //抽象事件,类型为系统预定义的代理(delegate):EventHandler        public abstract event EventHandler Event;

        //抽象索引指示器,只具有get访问器表示继承类必须将该索引指示器实现为只读        public abstract Char this[int Index]        {            get;        }    }    #endregion

    #region 继承类    public class DeriveClass : BaseClass    {        private String attribute;

        public override String Attribute        {            get            {                return attribute;            }            set            {                attribute = value;            }        }        public override void Function(String value)        {            attribute = value;            if (Event != null)            {                Event(this, new EventArgs());            }        }        public override event EventHandler Event;        public override Char this[int Index]        {            get            {                return attribute[Index];            }        }    }    #endregion

    class Program    {        static void OnFunction(object sender, EventArgs e)        {            for (int i = 0; i < ((DeriveClass)sender).Attribute.Length; i++)            {                Console.WriteLine(((DeriveClass)sender)[i]);            }        }        static void Main(string[] args)        {            DeriveClass tmpObj = new DeriveClass();

            tmpObj.Attribute = "1234567";            Console.WriteLine(tmpObj.Attribute);

            //将静态函数OnFunction与tmpObj对象的Event事件进行关联            tmpObj.Event += new EventHandler(OnFunction);

            tmpObj.Function("7654321");

            Console.ReadLine();        }    }}

结果:
1234567
7
6
5
4
3
2
1

abstract 是什么意思?相关推荐

  1. php 类 接口的区别吗,PHP的接口类(interface)和抽象类(abstract)的区别

    /** * 接口类:interface * 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类, * 那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候 ...

  2. c4d+ps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with Cinema 4D + Photoshop

    c4d+ps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with C4D + PS c4d+ps打造抽象NFT加密艺术 Create Abstract NFT ...

  3. 设计模式之抽象工厂模式(Abstract Factory)摘录

    面向对象系统的分析和设计实际上追求的就是两点:高内聚(Cohesion)和低耦合(Coupling). 23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.Fa ...

  4. java7特性_Java7特性中,abstract class和interf

    1.属性只有常量,都被final修饰(必须赋值),格式: [public] [static] [final]数据类型 常置名称=数据值: 注意:常量必须进行赋值,而且一旦赋值不能改变. 常量名称完全大 ...

  5. C2:抽象工厂 Abstract Factory

    提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 应用场景: 一系列相互依赖的对象有不同的具体实现.提供一种"封装机制"来避免客户程序和这种"多系列具 ...

  6. 设计模式之笔记--抽象工厂模式(Abstract Factory)

    抽象工厂模式(Abstract Factory) 定义 抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 类图 描述 多个抽象产品 ...

  7. php中的抽象类(abstract class)和接口(interface)

    一. 抽象类abstract class 1 .抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类. 2 ...

  8. 转:C#中的abstract与virtual

    C#中的abstract与virtual 2008-03-14 14:01 [abstract] abstract 修饰符可以和类.方法.属性.索引器及事件一起使用. 在类声明中使用 abstract ...

  9. Net设计模式之抽象工厂模式(Abstract Factory Pattern)(1)

    一.抽象工厂模式简介(Bref Introduction) 抽象工厂模式(Abstract Factory Pattern),提供一个创建一系列相关或者相互依赖对象的接口,而无需制定他们的具体类.优点 ...

  10. 分享|如何制作高质量的图文摘要(Graphical Abstract)

    一些期刊对于稿件的要求还包括了Graphical Abstract,即图文摘要,用来清晰.简洁地展示研究工作最主要的信息,与论文标题同样重要.尤其是一些影响力大的顶级期刊,大部分都会要求作者提供. G ...

最新文章

  1. P3385 【模板】负环
  2. 创建工程并测试RedisTemplate
  3. 如何组织软件模块的代码结构?
  4. Docker安装与简介
  5. 原谅我曾经是搞化学的《帮助寒门家庭共度难关》
  6. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_14-MongoDb入门-文档...
  7. WPF视频教程系列笔记
  8. 三菱伺服驱动器示例_三菱伺服电机伺服驱动器
  9. 计算机word表格ppt,计算机应用基础-04-WORD表格.ppt
  10. #Android-中控指纹仪Live R20 开发注意事项#
  11. CUBA平台使用感想 - 架构师角度
  12. 红烧鸡翅(简单又好吃)
  13. java处理excel,将xlsx转xls
  14. 论文|LINE算法原理、代码实战和应用
  15. Android 3D 魔方游戏的设计与开发
  16. 全志VR9虚拟现实专用芯片处理器介绍
  17. OpenNi学习笔记
  18. KubeSphere DevOps流水线部署
  19. 20190722华为OPPO小米夜间省电模式调研
  20. 【系统集成项目管理工程师】—关键路径

热门文章

  1. 用MATLAB制作GIF
  2. Bootstrap‘s dropdowns require Popper (https://popper.js.org)
  3. 一图了解最新中小型企业数字化转型政策
  4. 12.05—12.11java学习周记
  5. VS-c++控制台打印彩色字
  6. 六、Oracle客户端工具介绍
  7. oracle 框架 是什么意思,ioe架构是什么意思
  8. Android单点登录,互踢下线代码实现
  9. 秒杀程序学习-过程分析
  10. ELK日志系统环境搭建,javaswing教程