Public Sub New vs. Public Sub

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Vatter.

    Public Sub New vs. Public Sub

    Hallo,

    Was ist der Unterschied zwischen Public Sub New und Public Sub außer das da ein New (neu) steht!
    Welche eigenschaften ahben die beiden und was ist in einem code besser?

    Danke für die infos!!
    Das "New" ist der Konstruktor.

    Du kannst auch Sub New() weglassen, dann wird der Default-Constructor erzeugt (ein leerer Konstruktor)

    Alle anderen Sub´s sind lediglich Klassen- oder Instanzmethoden. (bspw. ToString())

    Das New ist schon verwirrend, bei C# heißt es nicht new, sondern trägt den gleichen Namen wie die Klasse - da ist es verständlicher:

    Quellcode

    1. public class MeineKlasse {
    2. public MeineKlasse { // Constructor-Logic }
    3. }
    Ich schlage dir dringend vor, dich ma damit auseinanderzusetzen.
    Die Sub New() wird immer dann aufgerufen, wenn du ein neues Objekt (Instanz) einer Klasse erstellst. Der parameterlose Konstruktor muß dabei nicht unbedingt geschrieben werden, es sei denn du willst z.B. Variablen mit eigenen Standardwerten initialisieren. Durch überschreiben der Sub New(Parameter) kannst du dir beliebige Konstruktoren erstellen. So kannst du z.B. der Klasse Auto mit Dim Opel as New Auto("grün") eine farbe mitgeben. dazu muß dann in der Klasse Auto die Sub New(Byval Farbe as String) existieren.
    Public Sub ist wie oben schonma beschrieben eine Objektbezogene Sub. z.B. Public Sub Umspritzen(Byval Farbe as String). Mit Opel.Umspritzen("blau") kannst du die dann aufrufen.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: