Hauptunterschied: In Programmiersprachen sind Klassen Blaupausen von Objekten, die Mitglieder wie Felder und Methoden enthalten. Das Modul führt die Definition in Bezug auf Eigenschaften, Ereignisse, Variablen und Prozeduren seiner Mitglieder ein. Module können nicht wie Klassen instanziiert werden.
Klasse wird als Blaupause eines Objekts betrachtet, da sie alle erforderlichen Details eines Objekts beschreiben kann. Aus dieser Klasse wird ein Objekt erstellt. Klasse besteht aus drei wichtigen Dingen, nämlich Name der Klasse, Attribute und Operationen.
öffentliche Klasse Student
{
öffentliche Studentenregistrierung ();
{
new RecordManager (). Initialize ();
}
}
Dies ist ein Beispiel für eine Klasse mit dem Namen Student
Das Modul führt die Definition in Bezug auf Eigenschaften, Ereignisse, Variablen und Prozeduren seiner Mitglieder ein. Dies ist ein Beispiel für ein Modul in VB.
Öffentliches Modul Mymodule
Sub Main ()
Dim Vorname als String = InputBox ("Was ist Ihr Vorname?")
MsgBox ("Ihr Vorname ist" & Vorname)
End Sub
Modul beenden
Ein Modul wird auch als Standardmodul bezeichnet. Das Modul kann nur auf Namespace-Ebene verwendet werden.
Module können nicht als Klassen mit Objekten instanziiert werden. Dies ist auf den Grund zurückzuführen, dass nur eine Kopie der Daten des Standardmoduls vorhanden ist. Falls in einem Teil des Programms Änderungen vorgenommen werden, die die öffentliche Variable der Standardvariablen beeinflussen, wird in diesem Fall derselbe Effekt auf den anderen Teil übertragen mit dieser ausgeführten Variable. Auf der anderen Seite werden die Daten für jedes Objekt separat aufbewahrt. Für ihre Leistungen werden Module und Klassen im Allgemeinen kombiniert.
Vergleich zwischen Modul und Klasse:
Modul | Klasse | |
Erbe | Nicht unterstützt | unterstützt |
Schnittstellen implementieren | Nein | Ja |
Mitglieder | Freigegeben (implizit in Visual Basic) | Steuern Sie den Typ eines Member einer Klasse als Shared Member oder Instanzmitglied |
Objektorientierter | Nein, Module können nicht instanziiert werden | Ja |
Kopie der Daten | Nur eine Kopie | Objektdaten sind für jedes instanziierte Objekt separat vorhanden. |
Typische anwendung | Wird im Allgemeinen auf der äußeren Ebene verwendet, um die Kompilierung, die inneren Strukturen und die Privatsphäre außerhalb der Modulgrenzen zu trennen | Generell als Bestandteil von Modulen |
Bevorzugt | Für abstrakte Datentypen, die mit binären Operationen verwendet werden, z. B. Sets mit einer Zusammenführungsoperation | Wenn Vererbung erforderlich ist |
Mitglieder | Methoden, Konstanten und Klassen | Methoden, Konstanten und Variablen |
Aufnahme | Kann mit Include-Befehlen in Klassen oder Modulen eingefügt werden | Kann nicht enthalten sein |
Super klasse | Objekt | Modul |