【C#】方法的重写

方法的重写

方法的重写:在子类中重写父类的方法,加上一个override;调用父类的方法,但是要把父类的方法进行重写,更换了方法的内容
(就是子类想用一个方法,但是父类已经定义了次方法,可以利用方法的重写继续使用此方法!)

虚方法

虚方法(使用virtual):与方法的重写是对应的,当父类的方法被调用,但是被重写了,此方法就是虚方法。

(这也是多态的一种体现)


实例

public class person
    {
        public virtual void show() //虚方法
        {
            Console.WriteLine("lalala");
        }
      
    }
public class student:person
    {
        public override void show()  //方法的重写
        {
            Console.WriteLine("我是个小猫");
        }

        public void say()
        {
            Console.WriteLine("我是个小狗");
        }
    }

注意事项:

1.虚方法不能写成静态的
2.方法重写必须与基类的方法名一致
3.不能与private一起使用

抽象类与方法

抽象方法和抽象类是由abstract修饰,而且抽象的方法只能存在于抽象的类中,但是抽象类中可以纯在非抽象成员!

他没有方法主体,子类继承抽象类的时候,方法必须重写,抽象类只能作用于基类,无法实例化。

抽象方法与之前的虚方法近似,但是它们的区别还是很明显的!

虚方法抽象方法
用virtual修饰

用abstract修饰

要有方法体不允许有方法体
可以被子类重写必须被子类重写
除了密封类都可以写只能在抽象类中

重载和重写的区别

重载:是方法名称相同,参数或参数类型不同,我们可以在需要的时候,进行多次重载以适应不同需要!它是面向过程的概念。

重写:是对父类(基类)中函数的重写。它是面向过程的概念。


评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值