首页 > 编程语言 >C# 中 virtual ,abstract,interface的总结

C# 中 virtual ,abstract,interface的总结

时间:2022-10-23 00:23:53浏览次数:42  
标签:函数 C# abstract 接口 抽象 virtual 派生类 interface 抽象类

1 virtual 修饰的属性或函数

  1. virtual可以修饰属性或函数,但是不能修饰字段。
  2. 虚函数前要有 virtual修饰符,且必须要有实现
  3. 派生类可以重新基类的虚函数,派生类重写的函数前必须要有 override关键字。如果基类的虚函数满足要求,派生类也可以无需重写该虚函数。

2 abstract 修饰的抽象类

  1. 抽象类不可以进行实例化,只有其派生类可以进行实例化
  2. 抽象类必须要包含抽象成员,即抽象函数或抽象属性
    抽象成员,即前面要有 abstract修饰符
  3. 抽象函数在声明的基类中不能进行实现,在其派生类中必须要有实现

3 interface 接口

  1. 接口不能进行实例化,只能实例化其派生类
  2. 接口中所有的成员(即函数和属性)都默认是公有的,不能再声明任何访问修饰符。
  3. 接口中的所有函数都只有声明,而不能有实现,要在继承的类中来对接口中声明的函数进行实现
  4. 接口中不能有静态成员

4 接口和抽象类的不同

  1. 抽象类中只要包含有抽象成员即可,其它非抽象成员函数可以有自己的实现,而接口中的所有成员都不能有实现,必须要在其继承类中来进行实现。

标签:函数,C#,abstract,接口,抽象,virtual,派生类,interface,抽象类
From: https://www.cnblogs.com/Jeffxu/p/16817687.html

相关文章

  • C语言程序设计--入门五周
       本周是C语言程序设计学习第五周,我代表19组负责本次博文。   一·首先回顾:     在前四周的学习过程中,我们新生小白从第一个C语言程序"HelloWorl......
  • AtCoder Beginner Contest 274
    E-BoosterTSP问题变种,典中典。AC代码//Problem:E-Booster//Contest:AtCoder-キーエンスプログラミングコンテスト2022(AtCoderBeginner//Contest274)URL......
  • Spring的@Configiration和@ComponentScan注解代替xml配置文件
    1.使用xml配置文件配置Spring容器:<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:context="http:/......
  • ARC139F Many Xor Optimization Problems
    题意:给定\(n,m\),求\(n\)个\([0,2^m)\)的数的最大异或和的和。瞎扯:考虑线性基,考虑消元后的,显然唯一,最大异或和为基内所有数的异或和。考虑大小为\(k\)的基方案数为......
  • C#中单元测试:xUnit
    测试分类:单元测试,整合测试,系统测试,性能测试,负载测试,用户体验测试。一、单元测试创建一个需要被测试的类库。namespaceClassLibrary1{publicclassClass1......
  • 微服务组件--注册中心Spring Cloud Eureka分析
    Eureka核心功能点【1】服务注册(register):EurekaClient会通过发送REST请求的方式向EurekaServer注册自己的服务,提供自身的元数据,比如ip地址、端口、运行状况指标的url、......
  • FreeAC
    FreeAChttps://www.right.com.cn/forum/thread-180295-1-1.htmlhttps://gitee.com/freeac/FreeAChttps://github.com/ycsunjane/acctlhttps://github.com/hokamyuen/op......
  • centos8下安装RabbitMQ
    1、查看RabbitMQdockersearchrabbitmq2、拉取RabbitMQdockerpullrabbitmq3、创建、运行RabbitMQdockerrun-d--hostnameirabbitmq--namerabbi......
  • 论文解读(GLA)《Label-invariant Augmentation for Semi-Supervised Graph Classificati
    论文信息论文标题:Label-invariantAugmentationforSemi-SupervisedGraphClassification论文作者:HanYue,ChunhuiZhang,ChuxuZhang,HongfuLiu论文来源:2022,NeurI......
  • 解决django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFI
    在开发Django项目时,调整了django文件目录结构同时配置完自己的配置文件路径后在终端执行pythonmanage.pyrunserver命令启动django项目时,报以下错误:django.core.ex......