2011-10-13 55 views
0

我想建立一个控件对象来更好地构建我的窗体。何时使用Inherits?

在下面,1个继承自某个类型的对象和1个被定义为特定类型的对象。

您能否告诉我何时使用ControlsCollection1和ControlsCollection2以及为什么不使用特定的控件。他们之间的区别?何时创建从现有对象继承的对象,以及何时将对象创建为某种类型的对象?

第二个问题,集合是否更好一个列表?

我还在学习,所以我希望这是有道理的。

Public Class ControlsCollection1 

    Private _controls As List(Of TextBox) 
    Private _textbox As TextBox 

    Public Sub New(ByVal textbox As TextBox) 
     Me._textbox = textbox 
    End Sub 

    Public Property Textbox() As TextBox 
     Get 
      Return _textbox 
     End Get 
     Set(ByVal value As TextBox) 
      _textbox = value 
     End Set 
    End Property 

End Class 

Public Class ControlsCollection2 
    Inherits List(Of TextBox) 



End Class 

调用类:

Dim col1 As New ControlsCollection1(New TextBox) 


Dim col2 As New ControlsCollection2 

col2.Add(New TextBox) 

回答

0

继承是重用现有对象的代码,从现有对象,或两者建立一个亚型,取决于编程语言支持的一种方式。在通过类定义对象的经典继承中,类可以从预先存在的称为基类或超类或父类或祖类的类继承属性和行为(即,与类关联的先前编码的算法)。新类被称为派生类或子类或子类。通过继承的类之间的关系产生了一个层次结构。在基于原型的编程中,可以直接从其他对象定义对象,而无需定义任何类,在这种情况下,此功能称为差分继承。简而言之(DRY)不要重复你自己的原则。

列表是一个集合。然而,这是一个专门的收藏。

一个集合就是这样:一个项目的集合。您可以添加内容,删除内容,迭代内容并查询内容中有多少内容。

一个列表添加关于定义的东西序列的信息:你可以得到位置n的元素,你可以在位置n添加一个元素,你可以删除位置n的元素。

在集合中,您不能这样做:“此集合中的第5个元素”未定义,因为没有定义的顺序。

还有其他专门的集合,例如一个Set,它增加了它永远不会包含相同元素两次的功能。

所以,你的代码是没有意义的重新设计它ü阅读和理解它后... 第二不添加在计算器重复 三使用了很多谷歌在乌尔职业问题的原因就作罢快速解答。 第四标记为答案,如果你得到你的答案:) goodluck