Jaka jest różnica między modułem a klasą?
Dodając nowy plik do projektu VB.Net w programie Visual Studio, pojawia się opcja użycia zarówno „Class”, jak i „Module”. Klasa jest opisana w następujący sposób
An empty class file
Natomiast moduł jest opisany jako
A file for storing groups of functions
Wydaje się to oznaczać, że moduł jest mniej przydatny niż klasa, ponieważ klasa może przechowywać grupy funkcji i nie tylko.
Czy moduł to naprawdę tylko grupa funkcji, czy też moduł zawiera coś więcej, niż sugeruje dokumentacja Visual Studio?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
5 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
to jest ten typ. Możesz używać tego typu jak każdego innego typu ( , , , ...)) deklarowanie zmiennych, parametrów, właściwości i typów zwracanych.
Podajmy mały przykład:
Teraz możesz zadeklarować zmienne typu
Podczas
moduły
statyczny. To znaczy. Dane przechowywane w module istnieją dokładnie raz. Z drugiej strony nie musisz tworzyć instancji modułu z , więc są one często używane do przechowywania danych globalnych i metod, które są globalnie dostępne. Na przykład możesz przechowywać listę osób w module.
Ćwicząc, można zrobić o wiele więcej. Możesz wyprowadzić klasę z klasy bazowej. Ta nowa klasa dziedziczy wszystko z klasy bazowej i może dodawać do niej więcej rzeczy. Na przykład możesz wyprowadzić klasę z
Słowo kluczowe w umożliwia klasom pochodnym przesłanianie (przesłanianie) metody . (Funkcje i podsystemy w klasach nazywane są metodami).
Pracownicy są zgodnymi osobami. Możesz dodać pracownika do listy . Nie wymaga to żadnych zmian w pętli For Each, tzn. Wywołanie automatycznie wywoła poprawną metodę (pierwszą dla "normalnej" osoby a drugi dla personelu).
O zajęciach można powiedzieć znacznie więcej. Mam nadzieję, że masz pojęcie o tym, co możesz zrobić z zajęciami.
Patrz sekcja
Obiekty i klasy w Visual Basic
https://docs.microsoft.com/en- ... sses/
a zwłaszcza sekcja
różnice między klasami i modułami
https://docs.microsoft.com/en- ... dules
.
Anonimowy użytkownik
Potwierdzenie od:
To wszystko przez krótki czas.
Jeśli w to nie wierzysz, skompiluj moduł za pomocą VB.NET i zdekompiluj z ILSpy przy użyciu C-Sharp.
I tak, to znaczy, że masz rację, jeśli chodzi o funkcjonalność, moduł jest klasą SUBset.
Wynika z tego, że z punktu widzenia funkcjonalności klasa jest SUPERzbiorem modułu, ponieważ może zawierać zarówno metody statyczne, jak i niestatyczne & amp; zmienne, a także modyfikatory zapewniające wirtualny i bezpieczny dostęp.
Anonimowy użytkownik
Potwierdzenie od:
W module publicznym klasy projektów mają dostęp do funkcji i zmiennych modułu. Nie musisz podawać nazwy modułu, aby się do niego odwołać. Możesz również mieć zajęcia w module.
Zmienne i funkcje klasy znajdują się w trudniejszej klasie „własności”. Publiczne zmienne i funkcje (metody) używane przez inne klasy są używane z nazwą klasy: , w przeciwieństwie do tych używanych w modułach.
Istnieje tylko jedno wystąpienie modułu, ale jedno lub więcej wystąpień klasy może być używanych w tym samym czasie.
Anonimowy użytkownik
Potwierdzenie od:
Źródło:
http://msdn.microsoft.com/en-us/ library/7825002w(en-US, VS.80).aspx
http://msdn.microsoft.com/en-us/library/7825002w(en-US,VS.80).aspx
Anonimowy użytkownik
Potwierdzenie od: