这里介绍VB.NET继承类只是一个普通的实践。事实上,.NET Framework类库由不同层次的类组成,他们分别继承于其他的类。
VB.NET承继类是一个这样的特征即答应你扩展类,假如你需求一些功用,你能够发明一个新类,假如你需求的功用中的部分功用现已能由一个现已存在的类供给了,你能够扩展本来的那个类来构建一个新类。那么你新建的这个类成为子类或许VB.NET承继类,本来的那个类称为父类或许基类。扩大类的进程称为扩展,有时术语 subclass或inherit 用于描绘扩展类的行为。在VB.NET中一个类只能有一个父类,多个父类的状况是不答应的。
在语法构成上,声明一个扩展类在类名后边运用分号,分号后边运用Inherits和父类名,例如,扩展类Employee创立一个新类Manager,代码如下
- Listing9:Extendingaclass
- ImportsSystem
- ClassEmployee
- DimsalaryAsDecimal=40000
- DimyearlyBonusAsDecimal=4000
- PublicSubPrintSalary()
- 'printthesalarytotheConsole
- Console.Write(salary)
- EndSub
- EndClass
- ClassManager:InheritsEmployee
- EndClass
假如单词Inherits 显现鄙人一行,那么就不需求分号,如:
- ClassManager
- InheritsEmployee
- EndClass
现在你能够初始化一个Manager目标,运用Manager目标中的成员,如下面的代码
- ClassEmployee
- PublicsalaryAsDecimal=40000
- PublicyearlyBonusAsDecimal=4000
- PublicSubPrintSalary()
- 'printthesalarytotheConsole
- Console.Write(salary)
- EndSub
- EndClass
- ClassManager:InheritsEmployee
- EndClass
- ModuleModule1
- PublicSubMain()
- DimmanagerAsManager
- manager=NewManager()
- manager.PrintSalary()
- EndSub
- EndModule
下面的比方中显现了在manage类中增加一个新方法PrintBonus
- ClassManager:InheritsEmployee
- PublicSubPrintBonus()
- Console.Write(yearlyBonus)
- EndSub
- EndClass
留意成员拜访约束的运用,比方说假如设定yearlyBonus域为私有,那么manage类就不能拜访他,不然在编译时就会得出过错定论。
#t#VB.NET承继类仅仅一个一般的实践。事实上,.NET Framework类库由不同层次的类组成,他们别离承继于其他的类。比方,Windows.Forms姓名空间中的button类是 ButtonBase类的子类,而ButtonBase类自身又是Control类的子类,一切类终究都以System.Object作为他们的根,在.NET Framework类库中System.Object又称为根或许超类。
Public Class MyForm : Inherits System.Windows.Forms.Form
End Class
声明的这个空白类,经编译履行后生成一个windows表单,你一行代码都用不作写就能够创立一个表单,这是由于myform承继于System.Windows.Forms.Form,他也承继了form的功用。
知优网 » 强烈推荐VB.NET承继类(.net和vb)