C#回顾学习笔记三十:虚方法的重写

本文介绍了C#中虚方法的概念及使用方式,包括如何通过virtual和override关键字来定义虚方法和重写方法,实现了多态性的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果想让父类的方法在子类中被重写,可以在父类的方法加上关键字abstract或virtual。在父类方法声明中加上关键字abstract称为抽象方法,在父类方法声明中加上关键字virtual被称为虚方法。在保证子类与父类的方法一样的情况下,子类中如果要重写方法,就加上关键字override。对父类的虚方法而言,其子类可以不必重写(被覆盖了)。

虚方法的注意事项:虚方法定义中不能包含static、abstract等修饰符。下面代码介绍简单的虚方法使用步骤。

第1步,父类代码,父类的方法添加virtual关键字标记为虚方法:
class Person
    {
        //父类中用virtual定义虚方法
        public virtual void sayHello()
        {
            Console.WriteLine("你好,我是人类");
        }
    }
第2步,子类代码,子类的方法添加override关键字重写父类的虚方法:
class Student : Person
    {
        //子类中用override重写虚方法
        public override void sayHello()
        {
            Console.WriteLine("你好,我是学生");
        }
    }
第3步,主函数代码,子类调用方法时重写了方法,最终调用的就是子类的方法:
class Program
    {
        static void Main(string[] args)
        {
            Student stu = new Student();
            stu.sayHello();//最终调用的是子类的方法
            Console.ReadKey();
        }
    }
虚方法的使用是实现多态的一种做法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值