C#学习笔记(5)——继承和多态

一个尝试错误的人生,不但比无所事事的人生更荣耀,并且更有意义。

目录

一、继承

二、多态

1. 虚方法:

2.虚方法与抽象方法的区别

 3. 关键字 sealed


一、继承

语法

class 子类: 父类1,父类2
{
}

二、多态

抽象类虚方法共同实现动态多态性。

1. 虚方法:

当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法

虚方法是使用 virtual 关键字声明。

public virtual void Voice()
{
    Console.WriteLine("动物的叫声");
}

此父类中的函数可以被子类中的函数重写(override)

例:

public override void Voice()
{
    Console.WriteLine("喵喵喵");
}

2.虚方法与抽象方法的区别

  1. 抽象方法只能在抽象类中声明,而虚方法,不用。
  2. 抽象方法是只有方法名、参数等,而没有实际的方法体的方法。是一种强制派生类覆盖的方法,否则派生类将不能被实例化。                                             
    public abstract class Animal {
        public abstract void eat();
    }

    虚方法有方法体的方法。                                                                                                       

    public abstract class Animal {
        public abstract void eat()
        {
            Console.WriteLine("不同的动物吃什么?");
        }
    }

                                  

  3. 抽象方法子类中必须重写父类中的抽象方法。而虚方法,子类可以重写

 3. 关键字 sealed

在类定义前面放置关键字 sealed,可以将类声明为密封类。当一个类被声明为 sealed 时,它不能被继承。

注意:抽象类不能被声明为 sealed。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值