Was ist der Unterschied zwischen Öffentlichem Eigentum, Freund und Public-Variablen in VB6
OK, so verstehe ich, dass ion VB6, gekapselte Eigenschaften in einer Klasse angehören können eine von drei Kategorien:
- Öffentlichen Eigentum
- Freund
- Öffentliche Variable
Was ist der Unterschied zwischen diesen und wie sind diese zu vergleichen, um öffentliche und private Eigenschaften in eine moderne Sprache wie C#?
- Äh, vergessen Sie die Privaten Eigenschaften. In jedem Fall Fragen, diese grundlegende sind leicht zu beantworten, indem Sie das Handbuch zu Lesen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den scope Qualifier
Public
undFriend
bestimmen, ob die Kunden in verschiedenen Projekten kann das Element sehen.Public
Elemente, die zugänglich sein wird, zu dem der client-code in anderen Projekten1 und - code im selben Projekt.Friend
Objekte sind nur zugänglich, um code in das gleiche Projekt, nicht von code in anderen Projekten.Private
Objekte sind nur zugänglich, um code in der gleichen Klasse.Eigenschaften unterscheiden sich von public-Variablen, weil mit Eigenschaften, die Sie ausführen können Ihre eigenen code aus, wenn der client ruft ab oder legt den Wert2. BEARBEITEN folgenden Deanna ' s Kommentar: Auch beachten Sie, dass Variablen, die übergeben werden können, ByRef an eine Funktion und die änderungen werden wie erwartet funktionieren. Dies ist NICHT der Fall für Eigenschaften.
NB C# kann mehr modern, aber IMHO die VB6-Behandlung-Eigenschaften und public-Variablen ist deutlich besser als die .Netto-Behandlung.
IMHO Microsoft hat einen echten design-Fehler in der Erstellung dieser Unterschiede zwischen den Wohnungen und den öffentlichen Feldern .Net. Nicht überzeugt? Nach den ersten releases .Net, die C# und VB Compiler wurden geändert, um die Unterstützung automatisch implementierte Eigenschaften. Diese erlauben die Erstellung von Eigenschaften in nur einer Zeile code, so dass es später möglich, zum hinzufügen von Logik auf get/set-ohne Probleme. IMHO das beweist, dass die öffentliche Variablen sollten gemacht wurden, nicht zu unterscheiden von Eigenschaften.
1 Vorausgesetzt, Ihr Projekt geben können die Klassen verwendet werden, die von anderen Projekten (z.B. ActiveX-DLL -, OCX-oder ActiveX-exe-Datei).
2
Property Get
,Property Let
undProperty Set
Verfahren.Referenzen Ihr Projekt/dll.
andere Klassen, die innerhalb Ihrer assembly (also nur die exe-Datei, die Sie aus dem
Klasse)
variable und Eigenschaft sind fast die gleichen. Eigentum ist bevorzugt, da Sie festlegen können, ob andere Klassen können set-oder get-variable (Eigenschaft kapselt die variable)
In C# ist es das gleiche, nur verwenden Sie die Interne statt Freund
Privateigentum, diese Eigenschaft, die verwendet werden von uns selbst und von anderen Mitglied der Familie. Aber öffentliches Eigentum sind, diese Eigenschaft, die verwendet werden von allen Menschen in unserer Gemeinschaft, Gesellschaft oder das Land.