vb.net的重写和重载是什么?

我很菜,请说的易懂些,谢谢。
2025-01-07 03:29:20
推荐回答(3个)
回答1:

我们都知道,面向对象语言的三大特征是:封装、继承和多态。而重写和重载是多态的两种表现形式。多态,顾名思义,就是指多种形态。而重写和重载正好体现了这一点。现在我们以 VB.NET 语言来说明两者的区别。

重写是发生在父类与子类之间的关系。具体来讲就是子类可以重写父类的现有的方法。它要求子类的方法名称及参数必须与父类完全一致。比如吃饭,父亲可以吃两碗面,孩子同样也是吃面,却只能吃一碗。

重载则主要是发生在同一个类当中的,它通过多个名称相同的方法,但方法参数不相同,或者方法返回类型不相同来加以区别。其中,方法参数不相同包括以下几种情况:参数的个数不相同,参数的类型不相同,参数的对应位置不相同。需要说明的是,重载同样可以应用到父类与子类当中。即子类重载了父类的方法。

重写:

在 VB.NET 中,重写汲及到的关键字有:

OverRidable: 在父类中声明的可以在子类中重写的方法。

OverRides: 在子类中声明的要重写父亲中可重写的方法。

MustOverRide: 在父类中,表示这个方法必须在子类中重写。此时,该类必须声明为抽象类。

NotOverridable: 如果当前类还有子类,那么,在其子类中,该方法不允许被重写。

重载:
在 VB.NET 中,重载用到的关键是 OverLoads。

这里需要说明几点:

1. 对于在同一类当中,一组名称相同的方法或函数重载时,可以加关键字 OverLoads 或者不加。但如果其中有一个方法加上,那同组其它方法也必须加该关键字。

2. 如果该方法是重载父类中的方法。那么必须加 OverLoads 关键字。

3. 如果两个同名函数仅返回类型不相同,则它们不能重载,即必须在参数上有所不同。

回答2:

重载就是你写的函数和之前存在的同名不通参数的函数同时可用,并存
重写就是只有你新写的有效,父类的无法再使用了。懂吗?

回答3:

重写是在子类中将父类的函数进行重新定义,函数名,参数名,参数个数,函数类型等等都要保持一致
重载是一个函数有多个形式。如void insert(),void insert(int a),int insert()