C#虚方法

简介: 如果说在一个类中已经使用了一个方法而且已经实现,而我想在它的子类中也想使用这个方法,而且也想实现   就像下面这种样子--但是现在还不能用 using System; using System.

 

如果说在一个类中已经使用了一个方法而且已经实现,而我想在它的子类中也想使用这个方法,而且也想实现

 

就像下面这种样子--但是现在还不能用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            b b1 = new b();

            b1.a1();
        }
    }
    class a
    {
        public  void a1()
        {
            Console.Write("1");
        }
    }
    class b : a
    {
        public void a1()
        {
            Console.Write("2");
        }
    }
}

  

改成这样

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            b b1 = new b();

            b1.a1();
        }
    }
    class a
    {
        public virtual void a1()//加入virtual修饰
        {
            Console.Write("1");
        }
    }
    class b : a
    {
        public override void a1()//这个加入override就好
        {
            Console.Write("2");
        }
    }
}

 

目录
相关文章
C#中抽象方法与虚方法的区别
C#中抽象方法与虚方法的区别
|
C#
C# 虚方法(virtual)案例详解
C# 虚方法(virtual)案例详解
228 3
C#(十八)之C#虚方法virtual
C#中的继承,C#是面向对象语言,面向对象三种特性:封装、继承、多态。 这里主要是继承,本篇只是基础。
174 0
C#(十八)之C#虚方法virtual
|
程序员 C#
浅谈C#抽象方法、虚方法、接口
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走...
951 0
|
存储 C#
艾伟:C#类和接口、虚方法和抽象方法及值类型和引用类型的区别
1.C#类和接口的区别 接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念! 而类是负责功能的具体实现! 在类中也有抽象类的定义,抽象类与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。
1330 0
|
测试技术 C#
C#语法-虚方法详解 Virtual 虚函数
虚方法 / Virtual 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
1167 0
|
C# C++ Java
C#虚方法virtual详解
C#虚方法virtual详解 在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。 虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是不发生变化的,也就是写死了的!而虚函数在编译期间是不被静态编译的,它的相对地址是不确定的,它会根据运行时期对象实例来动态判断要调用的函数,其中那个申明时定义的类叫申明类,那个执行时实例化的类叫实例类。
1014 0