Suchergebnisse

Suchergebnisse 1-19 von insgesamt 19.

  • Benutzer-Avatarbild

    Hallo, ich habe mir heute nochmal die Zugriffsmodifizierer in VB.NET angeschaut. Ich habe ein paar Fragen (1.1 - 1.4) und wäre erfreut, wenn ihr sie mir beantworten könntet. Unten habe ich einen Text zu Vererbung geschrieben. Könntet ihr über den Code schauen, bitte? 1) Als Erstes zu Friend, Protected Friend und Private Protected. 1.1.) Zu Protected weiß ich bereits: Eine protected Variable ist nicht sichtbar, außer für eine erbende Klasse. Ich kann in Form1.vb nicht schreiben: TC2._protected. I…

  • Benutzer-Avatarbild

    Friend Also wenn ich ein Projekt schreibe und ich eine Friend Class einbaue und dieses Projekt als DLL schnüre und verkaufe, ist diese Klasse oder Funktion nicht für den Konsumenten verfügbar, richtig? Dann ist das ungleich mit dem Friend in C++

  • Benutzer-Avatarbild

    Ok, gut zu wissen. Und zu Protected Friend: Ich verstehe das so: Entweder a) abgleitete Klassen oder b) dasselbe Assembly oder c) beides können auf die Variable zugreifen. Das wird bei libraries oder DLLs gemacht. Könnte mir noch jemand sagen, ob im Code zum Thema Vererbung ich es richtig gemacht habe, wenn ich pure-virtual will? (Zeile 4)

  • Benutzer-Avatarbild

    @RodFromGermany Verdammt, so meinte ich das auch. Ja ok, ich habe mich schon wieder dusselig ausgedrückt mit Entweder ..oder nochmal kurz zu Protected: Sowohl dieselbe Klasse als auch abgeleitete Klassen können auf die Variable zugreifen – sonst niemand! Dann ist das das, was in C++ Friend heißt ...

  • Benutzer-Avatarbild

    Ok, danke. Form1.vb kann nicht auf die Variable _protected zugreifen. Aber ich kann in der Instanz der TestClass2 eine Sub aufrufen, welche für mich _protected ausliest. Also à la „Ich muss jemand anderen um Erlaubnis bitten“.

  • Benutzer-Avatarbild

    Alle können lesen, aber nur einer kanns verändern. Super!

  • Benutzer-Avatarbild

    Never mind. dein Beispiel aus Post #10 ist das, was ich wissen wollte. Ich versuche mir nur die ganze Zeit, Beispiele aus dem Leben im Kopf zusammenzureimen, was da so zutrifft. Zitat: „Alle können lesen, aber nur einer die Basisklasse und die abgeleitete Klassen können die Variable verändern. Super!“

  • Benutzer-Avatarbild

    Meinst du das? Bei Exists steht Public Overrides ReadOnly Property Exists as Boolean @Gonger96 Habe mir dieses Video rausgesucht. Ich habe es 2018 gesehen, als es herauskam, und habe mich heute etwas falsch erinnert und kam daher durcheinander. Habe an der richtigen Stelle die URL kopiert. https://youtu.be/NfFSxZiOP1c

  • Benutzer-Avatarbild

    Kann ich mir die Klassenstruktur für mein Projekt anzeigen lassen? So als Diagramm?

  • Benutzer-Avatarbild

    Ok, danke, schaue ich mir morgen mal an. Magst du mir sagen, ob im Thema 2.) Vererbung (Post#1) alles richtig ist. Also, ob ich das Ziel pure-virtual richtig gecodet habe?

  • Benutzer-Avatarbild

    Zitat: „Wie soll es funktionieren? ... was ich unter MustOverride verstehe.“ Jup, genau das meinte ich. RFG hat's für mich nochmal genauer erläutert. Danke an der Stelle. Ich habe den Begriff ‚pure-virtual‘ in einem Video aufgeschnappt und dachte, ich bring den mal. Ich habe festgestellt, dass ich lieber ‚MustOverride‘ sagen sollte. Ich schaue mir euren Code nacheinander an und melde mich wieder.

  • Benutzer-Avatarbild

    @ErfinderDesRades Zitat: „Dafür müssteste die Erben natürlich entsprechend anpassen (soll ja nicht zu einfach sein für dich “ Habe ich versucht. Es gibt 2 Fehler, siehe Anhang. Ich komme gerade nicht weiter, was deinen Code anbelangt: Die Eigenschaft Name ergibt (für mich noch) keinen Sinn: Der Getter verwendet die überschreibbare Methode Nenne_deinen_Namen(), um einen Namen zurückzugeben, während Nenne_deinen_Namen(), um diesen Namen zurückzugeben, die Eigenschaft Getter verwendet. Ich benötige…

  • Benutzer-Avatarbild

    @RodFromGermany Ich habe das gerade eingebaut und habe geschaut, was erreicht wurde:- in Form1.vb kann man den Namen einmalig zuweisen und dann nur noch über die Sub Nenne_deinen_Namen() abfragen - man kann selbst nicht S1.Name schreiben (gut so) VB.NET-Quellcode (4 Zeilen) Ist es richtig, dass Zeile 7 0 Verweise hat? VB.NET-Quellcode (13 Zeilen) Das ist schon geil.

  • Benutzer-Avatarbild

    Zitat: „Wo, glaubst Du denn, unterschlägt Visual Studio einen Verweis?“ Hallo @VaporiZed Grüß dich. Ich weiß nicht, da steht 0 Verweise. Hab ich etwas falsch gemacht? Felllänge hab ich geändert.

  • Benutzer-Avatarbild

    Ich habe es nun wie folgt gelöst. Wie gestern mit der TestClass. Damit habe ich gelernt was ich lernen wollte und geschafft, was ich schaffen wollte. Aus Form1.vb kann man nicht auf Name zugreifen, nur über die Prozedur Nenne_deinen_Namen(). Was @ErfinderDesRades mit "Dafür müssteste die Erben natürlich entsprechend anpassen" genau meinte , muss ich noch schauen. Ich bedanke mich für die Hilfe! VB.NET-Quellcode (60 Zeilen) In Form1.vb VB.NET-Quellcode (4 Zeilen)

  • Benutzer-Avatarbild

    @RodFromGermany Die '''-Kommentare kenne ich. Ich habe das Projekt gestern nur schnell für diesen Forumsthread vom Laptop auf den PC übertragen. Sonst nutze ich die '''-Kommentare häufig.

  • Benutzer-Avatarbild

    @ErfinderDesRades Ich meinte eigentlich, dass ich nicht in Form1.vb einfach so schreiben kann S1.Name = "". Aber ja, du hast Recht, man sieht noch in den Vorschlägen S1.Name. Daher wollte ich in Lebewesen.vb den Public Property Name() As String auf Private ändern, aber dann kommen Fehlermeldungen (siehe Bild). Was kann man tun?

  • Benutzer-Avatarbild

    Ja, RFG, ich stimme dir zu. Dieses Testprojekt zu verfeinern und sich damit aufzuhalten ist nicht der richtige Weg. Ich packs, wie du schon sagst, in meinen Gelernt-Ordner. Gut, ich bedanke mich für eure Hilfe und setze das hier auf erledigt.

  • Benutzer-Avatarbild

    Zitat: „man kann iwie ein klassendiagramm erstellen“ @ErfinderDesRades und @ alle anderen. Um das noch aufzulösen: vb-paradise.de/index.php/Attachment/50207/ vb-paradise.de/index.php/Attachment/50206/ Eventuell noch vorher im Visual-Studio-Installer das Häkchen bei "Klassendiagramm" setzen und auf installieren klicken.