abstract(抽象):该abstract修饰符指示要修改的东西有缺失或不完整的实现。abstract修饰符可以与类,方法,属性,索引器和事件一起使用。abstract在类声明中使用修饰符来指示类仅用于其他类的基类。标记为抽象或包含在抽象类中的成员必须由派生自抽象类的类实现。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/abstract

virtual(虚拟):该virtual关键字用于修改方法,属性,索引器或事件声明,并允许在派生类中重写它。例如,任何继承它的类都可以覆盖此方法。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/virtual

abstract方法必须在abstract 类中,父类不需要写完成方法,只用定义方法名,字段名,等等,子类必须重写。virtual方法可以写完成过程,子类可重写,也可不从写。

  public abstract class BaseTest
{
public virtual string Name { get; set; }
public virtual int Age { get; set; } public virtual string GetName()
{
return "sealee";
}
public virtual int GetAge()
{
return ;
}
public abstract string YourName { get; }
public abstract int YourAge { get; }
public abstract string GetYourName();
public abstract int GetYourAge();
} public class Test : BaseTest
{
public override string YourName => "myName";
public override int YourAge => ; public override int GetYourAge()
{
return ;
} public override string GetYourName()
{
return "xixi";
} public override string Name { get => "不不不"; set => base.Name = value; } public override string GetName()
{
return "是是是";
}
}

C# abstract,virtual 修饰符的更多相关文章

  1. virtual 修饰符 C# .NET

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象. 例如,此方法可被任何继承它的类重写. (C#参考) public virtual double Area( ...

  2. virtual修饰符

    virtual(C# 参考) virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写. 例如,此方法可被任何继承它的类重写. public virtual doubl ...

  3. 概述C# virtual修饰符

    摘要:C#是继C++和Java语言后的又一面向对象的语言,在语法结构,C#有很多地方和C++及Java相似,但是又不同于它们,其中一些关键特别需要引起我们的注意. C# virtual修饰符用于修改方 ...

  4. virtual 修饰符与继承对析构函数的影响(C++)

    以前,知道了虚函数表的低效性之后,一直尽量避免使用之.所以,在最近的工程中,所有的析构函数都不是虚函数.今天趁着还书的机会到图书馆,还书之后在 TP 分类下闲逛,偶然读到一本游戏编程书,里面说建议将存 ...

  5. abstract修饰符

    abstract(C# 参考) abstract 修饰符指示所修饰的内容缺少实现或未完全实现. abstract 修饰符可用于类.方法.属性.索引器和事件. 在类声明中使用 abstract 修饰符以 ...

  6. 可访问范围 与 visual 或 abstract “修饰符”

    protected:在当前类内定义,则在当前类“内部”可以调用,则在 派生子类"内部" 也可以调用 private,除去,在 派生子类"内部" 也可以调用,其它 ...

  7. 浅析java修饰符之public default protected private static final abstract

    浅析java修饰符之public default protected private static final abstract 一   修饰符的作用:用来定义类.方法或者变量,通常放在语句的最前端 ...

  8. override 修饰符

    override(C# 参考) 要扩展或修改继承的方法.属性.索引器或事件的抽象实现或虚实现,必须使用 override 修饰符. C# abstract class ShapesClass { ab ...

  9. c# 访问修饰符的访问权限

    1. 访问修饰符. 指定声明的类型和类型成员的可访问性. (1) public:是类型和类型成员的访问修饰符.公共访问是允许的最高访问级别.对访问公共成员没有限制. (2) private:是一个成员 ...

随机推荐

  1. python4

    列表的常用操作     创建列表         1.创建空列表             列表变量 = []         2.创建单个数据的列表             列表变量 = [值]    ...

  2. springMVC基于注解的控制器

    springMVC基于注解的控制器 springMVC基于注解的控制器的优点有两个: 1.控制器可以处理多个动作,这就允许将相关操作写在一个类中. 2.控制器的请求映射不需要存储在配置文件中.使用re ...

  3. sun.misc.unsafe

    Java中大部分错误都是基于内存管理方面的.如果想破坏,可以使用Unsafe这个类. 实例化Unsafe: 下面两种方式是不行的 private Unsafe() {} //私有构造方法 @Calle ...

  4. Tomcat添加用户

    在conf目录下tomcat-users.xml文件里添加如下代码: <role rolename="manager-gui"/> <user username= ...

  5. javascript获取文件后缀名

    javascript获取文件后缀名:在需要验证文件格式的时候,首先就要获得文件的格式,下面是一个通过正则表达式获取文件后缀名的一个简单实例. function validate(){ var impo ...

  6. Python-并发编程(线程)

    之前我们说了并发编程中的进程问题,几天我们来聊聊并发编程中的线程问题. 一.背景知识 1.进程 之前我们已经了解了操作系统中进程的概念,程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能 ...

  7. Visual Studio Code使用Open In Browser打开的是记事本

    今天在家里学习前端开发,发现Visual Studio Code使用Open In Browser插件快速打开浏览器有问题,打开的是操作系统的记事本. 后来发现电脑的html文件默打开方式被改成了记事 ...

  8. Open images from USB camera on linux using V4L2 with OpenCV

    I have always been using OpenCV's VideoCapture API to capture images from webcam or USB cameras. Ope ...

  9. Android 高速录像(1)

    package com.kirin.voltage.activity; import java.io.File;import java.io.IOException;import java.util. ...

  10. androidwebview timeout

    public class MyWebViewClient extends WebViewClient { boolean timeout; public MyWebView() { timeout = ...