C#笔记进阶篇03 抽象函数与抽象类

C#笔记进阶篇03 抽象函数与抽象类

——本系列是基于人民邮电出版社《C#2008 C#图解教程》、清华大学出版社《C#入门经典(第五版)》两本书的自学C#笔记,如果您发现了本文的纰漏,还望不吝指正。

写在前边

封装、继承、多态,是面向对象的三大特性。所以多态是面向对象程序设计中最重要的概念之一

什么是多态?
为了解决同一种指令,可以有不同行为和结果,让不同的子类对象对同一指令有不同的行为
在运行时,可以通过调用同一个方法,来实现派生类中不同表现

在C#编程中,关于多态可能涉及到以下几个概念:重载、重写、虚方法、抽象方法以及隐藏方法,关于本篇的抽象函数与抽象类,我们需要提前了解一下虚方法,进行对比学习。

虚方法
被virtual关键字修饰的方法,叫做虚方法

  • 要继承的父类中,用virtual关键字去修饰子类要重写的方法
  • 子类可以通过override关键字去重写虚方法

1).虚方法在调用时,会根据运行时实际的对象和最后重写的方法,去决定运行哪一个
2).子类只能重写同参数列表同返回类型同名的虚方法
3).虚方法不能私有化,必须要子类去继承,如果一定要让子类重写不了,可以用sealed去封闭

sealed关键字
密封一个类,让这个类无法被派生

例:下面的代码中,类Stedunt继承自类Person,并且重写了SayHello()方法

 	class Person
    {
   
        public int age;
        public string name;

        public Person(string name, int age)
        {
   
            this.name = name;
            this.age = age;
        }
        public virtual void SayHallo()
        {
   
            Console.WriteLine("我是
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值