week11---5月12日

本文深入探讨了C#中虚方法与重写方法的概念、执行过程、重载、重写和隐藏的区别,并详细解释了垃圾回收和析构函数的作用。

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

一、复习

1、Birthday类的作业讲解

2、矩形类作业讲解


补充说明:运算符重载的窗体加入


二、虚方法与重写方法

        默认情况下,派生类从其基类继承属性和方法。如果继承的属性或者方法需要在派生类中有不同的行为,则可以“重写”它,即可以在派生类中定义该属性或方法的新实现,这时在基类中该属性或者方法的声明必须用“virtual”关键字修饰。

virtual关键字用于指定属性或方法可以在派生类中重写,具有virtual关键字的方法或者属性被称为虚拟成员。

当实例方法声明包含“override”修饰符是,该方法称为重写方法。重写方法用相同的签名重写继承的虚拟方法。

注意:虚拟方法声明引入新方法,而重写方法声明通过提供方法的新实现专用化现有的继承虚拟方法。

实例:任务 6.8



1、继承中构造函数的执行过程

    当创建派生类的实例时,基类的构造函数首先执行,然后执行派生类中的构造函数。这是因为构造函数中方法头后使用语法base(...)。如果没有显示调用基类构造函数,系统隐式调用基类无参的构造函数base()。然后调用该类层次结构中每个类的构造函数,直到到达基类的构造函数。

2、重载、重写和隐藏的比较

    重载的成员用于提供属性或方法的不同版本,这些版本具有相同名称但是接受不同数量的参数或者接受不同数据类型的参数。

    重写的属性和方法用于替换在派生类中不适合的继承的属性或方法。重写的成员必须接受同一数据类型和参数数量。派生类继承重写的成员。重写的属性和方法基类中要求有virtual修饰符;派生类中要求有override修饰符。

    隐藏的成员用于局部替换具有更广范围的成员。任何类型都可隐藏任何其他类型。

三、垃圾回收和析构函数

  • 当系统确定对象不再需要时,公共语言运行库(CLR)便定期销毁这些对象。当系统资源短缺时,对象释放会快一些,否则就不那么频繁。至于何时销毁不再需要的对象,进行垃圾回收释放未使用的资源,是不确定的。
  • C#提供析构函数,它允许对象在垃圾回收器回收该对象使用的内存时适当清理其非托管资源。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值