Różnica między konstruktorem a niszczycielem

Kluczowa różnica - konstruktor vs Burzyciel
 

Większość języków programowania obsługuje programowanie obiektowe (OOP). Jest to paradygmat, który pomaga modelować oprogramowanie lub program przy użyciu obiektów. OOP poprawia wydajność i łatwość konserwacji. W OOP wszystko jest traktowane jako obiekt. Obiekty są tworzone lub tworzone za pomocą klas. Konstruktor i Niszczyciel są powszechnymi terminami w programowaniu obiektowym. W tym artykule omówiono różnicę między konstruktorem a destruktorem. Konstruktor i destruktor są specjalną funkcją składową w klasie. Konstruktor i destruktor mają taką samą nazwę jak klasa, ale destruktor ma znak tyldy (~). The kluczowa różnica między konstruktorem a destruktorem jest to konstruktor służy do przydzielania pamięci do obiektu, a destruktor jest używany do zwolnienia pamięci obiektu.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest konstruktor
3. Co to jest Niszczyciel
4. Podobieństwa między konstruktorem a niszczycielem
5. Porównanie obok siebie - Konstruktor vs Niszczyciel w formie tabelarycznej
6. Podsumowanie

Co to jest konstruktor?

Konstruktor to specjalna funkcja składowa w klasie do przydzielania pamięci do obiektu. Można go użyć do podania wartości dla członków danych. Konstruktor jest wywoływany podczas tworzenia obiektu. Ma taką samą nazwę jak nazwa klasy. Konstruktor nie zwraca żadnej wartości. Dlatego nie zawiera typu zwrotu. Konstruktor może również akceptować parametry. Konstruktor z parametrami jest znany jako sparametryzowany konstruktor.

Przykład konstruktora jest następujący.

Prostokąt klasy publicznej

int długość, szerokość;

public Rectangle (int p, int q)

długość = p;

szerokość = q;

public int calcArea ()

return (długość * szerokość);

Zgodnie z powyższym fragmentem kodu konstruktor ma taką samą nazwę jak nazwa klasy. Konstruktor Prostokąt akceptuje dwa parametry. Są to p i q. Wartość całkowitą p przypisuje się do długości. Wartość całkowitą q przypisuje się do szerokości. W calcualteArea obliczane jest mnożenie długości i szerokości w celu znalezienia obszaru prostokąta. W programie głównym programista może utworzyć obiekt typu Rectangle i przekazać argumenty. na przykład Prostokąt rect1 = nowy prostokąt (2,3). Następnie wywoływany jest sparametryzowany konstruktor i przypisuje wartości do długości i szerokości.

Rysunek 01: Konstruktor i Niszczyciel

Gdy istnieje konstruktor bez żadnych parametrów, nazywany jest konstruktorem domyślnym. Jeśli programista nie zdefiniuje konstruktora, zostanie wywołany domyślny konstruktor. Jeśli istnieje klasa jako Student i gdy programista tworzy obiekt typu Student, wywoływany jest domyślny konstruktor. na przykład Student s1 = nowy Student (); W klasie może znajdować się wiele konstruktorów o różnych parametrach i różnych typach danych. Odpowiedni konstruktor można odpowiednio wywołać. Dlatego konstruktory mogą być przeciążone.

Co to jest Niszczyciel?

Destruktor to specjalna funkcja członka w klasie. Służy do zwolnienia pamięci dla obiektu utworzonego przez konstruktor. Destruktor jest wywoływany po zniszczeniu obiektu. Wykonuje przechowywanie, które nie jest już wymagane. Podobnie jak konstruktor, destruktor ma taką samą nazwę jak klasa. Zawiera także symbol tyldy (~).

Destruktor nie zwraca żadnej wartości. W przeciwieństwie do konstruktora, destruktor nie przyjmuje żadnych parametrów. Więc destruktor nie obsługuje przeciążania. Zadeklarowanie destruktora jest uważane za dobrą praktykę programistyczną, ponieważ zwalnia miejsce w pamięci i można go wykorzystać do przechowywania niektórych innych obiektów. Składnia destruktora jest podobna do ~ className () . na przykład ~ Rectangle () ; W klasie może być tylko jeden destruktor.

Jakie są podobieństwa między konstruktorem a niszczycielem?

  • Zarówno konstruktor, jak i destruktor są powiązane z obiektami.
  • Zarówno konstruktor, jak i destruktor nie zwracają żadnej wartości.
  • Zarówno konstruktor, jak i destruktor są wywoływane automatycznie.

Jaka jest różnica między konstruktorem a niszczycielem?

Konstruktor kontra niszczyciel

Konstruktor to specjalny element w klasie, który służy do przydzielania pamięci do obiektu. Destruktor to specjalny element klasy służący do zwalniania pamięci obiektu.
 Metoda wywoływania
Konstruktor jest wywoływany podczas tworzenia obiektu. Destruktor jest wywoływany, gdy obiekt jest niszczony lub usuwany.
Stosowanie
Do przydzielenia pamięci dla obiektów służy konstruktor. Destruktor służy do zwolnienia pamięci dla obiektów.
 Parametry
Konstruktor akceptuje parametry. Destruktor nie akceptuje parametrów.
Liczba konstruktorów i niszczycieli
Może istnieć wiele konstruktorów o różnej liczbie parametrów i różnych typach parametrów. W klasie może znajdować się pojedynczy destruktor.
Szybkość wykonania
Konstruktor ma taką samą nazwę jak nazwa klasy. Destruktor ma taką samą nazwę jak nazwa klasy z symbolem tyldy (~).
Przeciążenie
Konstruktor może być przeciążony. Destruktora nie można przeciążać.

streszczenie - Konstruktor vs Burzyciel

OOP jest powszechnym paradygmatem w rozwoju oprogramowania. Może uprościć złożony projekt. Konstruktor i destruktor są używane w OOP. Konstruktor i destruktor mają taką samą nazwę jak klasa, ale destruktor ma znak ~. Różnica między konstruktorem a destruktorem polega na tym, że konstruktor służy do przydzielania pamięci do obiektu, a destruktor służy do zwolnienia pamięci obiektu.

Pobierz plik PDF Constructor vs. Destructor

Możesz pobrać wersję PDF tego artykułu i używać go do celów offline zgodnie z cytatem. Pobierz wersję PDF tutaj: Różnica między konstruktorem a niszczycielem

Odniesienie:

1.tutorialspoint.com. „Obiekt Java i klasy”. Punkt, Dostępny tutaj