Zum Inhalt springen

VB.net Konstruktoren


Soldiar

Empfohlene Beiträge

Hallo,

muss eine kurze hausarbeit anfertigen, und bin etwas überfordert bei einer Frage:

1. Wozu dient der Konstruktor?

2. Wie kann ich Konstruktoren überladen ?

3. Wie  stelle ich meinen Standardkonstruktor wieder her?

Aufgabe 1 und 2 sind mir ja noch geläufig, jedoch bin ich bei Aufgabe 3 etwas überfordert, ich könnte zwar einfach "sub new() end sub" eingeben, aber dies ist doch nicht wirklich sauber, oder?

Falls ihr gute Quellen für Frage 1 und 2 hättet wäre ich natürlich auch um diese dankbar, da die Hausarbeit bewertet werden soll und daher ein wohl größeres Ausmaß empfehlenswert ist.

mfg

Christian, 19, Kassel

Link zu diesem Kommentar
Auf anderen Seiten teilen

In .NET ist es so, dass falls ein erweiterter Konstruktor der Standardkonstruktor überschrieben wird. (Was auch durchaus Sinn macht, denn manche Klassen brauchen einfach ein paar Daten um arbeiten zu können ;) )

Der implizite Standardkonstruktor existiert nur dann, wenn er nicht durch einen parameterlosen Konstruktor explizit überschrieben oder durch einen parametrisierten überladen wird.

Quelle: Buch (auch weitere Infos zu Konstruktoren)

Um ihn wieder herzustellen, ist deine Lösung richtig und sauber. Eine andere ist mir afaik nicht bekannt.

Mit freundlichen Grüßen,

Cadpax

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

Vielen Dank Cadpax.

ja, genau das ist nämlich das Problem, diese Lösung hat er uns schon gezeigt und meinte: "aber das geht noch sauberer". Und nun frage ich mich, was er will.

Naja ist ja wochenende, vllt. weiß ja noch jemand, wie es angeblich besser gehen soll :)

mfg

Christian, 19, Kassel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was ist "sauber" beim Herstellen des Standardkonstruktors?

Hier die Lösung (meine persönliche Meinung):

Wenn der Standardkonstruktor New() überschrieben wird, ist er weg. Das bedeutet, man muss ihn erneut anlegen. Also ist Sub New() End Sub eine Lösung. Jetzt die eigentliche Antwort:

Als Zugriffsmodifizierer bei den lieben Konstruktoren kommen PUBLIC, FRIEND und PRIVATE in Frage. Der Standardkonstruktor aus der Systemklasse ist immer PUBLIC definiert. Das muss eigentlich nicht mit angegeben werden.

Da Du eine Hausarbeit anfertigen musst, vermute ich hinter deinem Namen einen Studenten oder Schüler. Und die müssen ja bekanntlich auch die Grundlagen und Hintergründe lernen :cool:

Die "saubere" Lösung ist Public Sub New() End Sub, obwohl es nichts anderes ist.

Nun aber zur Begründung. Du kannst natürlich auch FRIENDS oder PRIVATE setzen. Bei PRIVATE wird der Zugriff generell verhindert. Der Konstruktor kann außerhalb der Klasse nicht aufgerufen werden. Was macht das jetzt für einen Sinn :( Wofür dient jetzt der Konstruktor? Er verhindert, dass die Klasse mit dem Schlüsselwort NEW instanziert werden kann. Es gibt ja auch Klassen, die ohne Instanzierung eine gewisse Funktionalität haben können und auch nicht instanziert werden dürfen. "sauber" ist also ein Hinweis auf die Verwendung der Klasse bzw. des Konstruktors.

Aber so tief wird ja in Schule und Unis bestimmt nicht hineingestiegen. Habe gestern erst gehört, dass an einer Uni Delphi und Pascal unterrichtet wird :uli

gruß

korph

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja war für die schule. leider musste die hausarbeit bereits heute abgegeben werden. Daher kommt deine info leider zu spät für meine Hausarbeit, jedoch nicht zu spät um es mir zu merken :)

anscheinend wollte er es wohl so hören, aber so wie es scheint kam niemand da drauf (zum. viele meiner mitschüler nicht, da sie wohl auf eine google suche zum thema lediglich diesen beitrag von mir fanden)

Vielen Dank nochmals.

mfg

Christian, 19, Kassel

ps: pascal ist schon hart, jedoch denke ich sollte man delphi nicht so hinabstufen. die entwicklungsumgebung ist .net konform und aktuell, das was bei einigen anderen sprachen fehlt an entwicklungsumgebung, sinnvollen sprachaufbau sowie .net konformität hat delphi längst. Auch wenn es nicht die "modernste" Sprache ist, ist sie auch längst nicht die älteste und zu verachtenste, oder? Denke jedoch, dass sie für eine universität nicht wirklich geeignet ist, im Gegensatz zu FOS, HBFS, BG, BFS, BS und OG, wo ich denke dass diese sprache nicht fehl am platz wäre, wenn borland ein wenig mehr studentenunterstützung geben würde (was microsoft ja *leider* tut, und java /php u.a. nicht benötigen).

Link zu diesem Kommentar
Auf anderen Seiten teilen

viele meiner mitschüler nicht, da sie wohl auf eine google suche zum thema lediglich diesen beitrag von mir fanden

DASs ist das Problem...

Aufgabenstellung = Google

etwas annäherndes Finden = Lösung haben

Lösung vortragen = enttäscht sein wenn fehlerhaft

Aber wir leben ja in einer google-Gesellschaft ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ja. das ärgerliche war halt, dass man zu dem thema eigentl. nirgends etwas finden konnte. Ob das nun an Quellenmangel oder persönlicher Inkompetenz liegt vermag ich nicht zu sagen.

Zumindest war ich erleichtert, dass ich nicht der einzige war, der es nicht fand, und das obwohl ich 4 Bücher zu vb.net durchsucht habe.

mfg

Christian, 19, Kassel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...