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("我是

你可能感兴趣的:(C#笔记进阶篇,c#,抽象类,.net)