Różnica Między Konstruktorem A Destruktorem

Spisu treści:

Różnica Między Konstruktorem A Destruktorem
Różnica Między Konstruktorem A Destruktorem

Wideo: Różnica Między Konstruktorem A Destruktorem

Wideo: Różnica Między Konstruktorem A Destruktorem
Wideo: Obiektowy C+ odc. 3: Konstruktory. Destruktory. Dostęp: public, private, protected 2024, Listopad
Anonim

Kluczowa różnica - Konstruktor vs Destruktor

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 produktywność i łatwość konserwacji. W OOP wszystko jest traktowane jako przedmiot. Obiekty są tworzone lub tworzone przy użyciu klas. Konstruktor i Destruktor to terminy powszechne w programowaniu obiektowym. W tym artykule omówiono różnicę między konstruktorem a destruktorem. Konstruktor i destruktor to specjalne funkcje składowe w klasie. Konstruktor i destruktor mają taką samą nazwę jak klasa, ale destruktor ma znak tyldy (~). Kluczową różnicą między konstruktorem a destruktorem jest to, że konstruktor jest używany do przydzielania pamięci do obiektu, podczas gdy destruktor służy do zwalniania pamięci obiektu.

ZAWARTOŚĆ

1. Omówienie i kluczowa różnica

2. Co to jest konstruktor

3. Co to jest destruktor

4. Podobieństwa między konstruktorem a destruktorem

5. Porównanie obok siebie - konstruktor kontra niszczyciel w formie tabelarycznej

6. Podsumowanie

Co to jest konstruktor?

Konstruktor to specjalna funkcja składowa w klasie służąca do przydzielania pamięci do obiektu. Może służyć do dostarczania 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 zwracanego. Konstruktor może również akceptować parametry. Konstruktor z parametrami jest nazywany konstruktorem sparametryzowanym.

Przykład konstruktora jest następujący.

public class Rectangle {

int długość, szerokość;

public Rectangle (int p, int q) {

długość = p;

szerokość = q;

}

public int obliczArea () {

powrót (długość * szerokość);

}

}

Zgodnie z powyższym fragmentem kodu konstruktor ma taką samą nazwę jak nazwa klasy. Konstruktor Rectangle przyjmuje dwa parametry. Są p i q. Długość jest przypisywana liczbie całkowitej p. Szerokości jest przypisywana liczba całkowita q. W calcualteArea obliczane jest mnożenie długości i szerokości, aby znaleźć pole prostokąta. W programie głównym programista może stworzyć obiekt typu Rectangle i przekazać argumenty. np. Rectangle rect1 = new Rectangle (2,3). Następnie wywoływany jest sparametryzowany konstruktor i przypisuje wartości do długości i szerokości.

Różnica między konstruktorem a destruktorem
Różnica między konstruktorem a destruktorem

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 konstruktor domyślny. Jeśli istnieje klasa jako Student i gdy programista tworzy obiekt typu Student, wywoływany jest domyślny konstruktor. np. Student s1 = nowy Student (); W klasie może istnieć wiele konstruktorów z różnymi parametrami i różnymi typami danych. Odpowiednio można wywołać odpowiedni konstruktor. Dlatego konstruktory mogą być przeciążone.

Co to jest niszczyciel?

Destruktor to specjalna funkcja składowa w klasie. Służy do zwalniania pamięci dla obiektu utworzonego przez konstruktora. Destruktor jest wywoływany po zniszczeniu obiektu. Przeprowadza magazyn czyszczenia, który nie jest już potrzebny. Podobnie jak konstruktor, destruktor ma taką samą nazwę jak klasa. Zawiera również symbol tyldy (~).

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

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

  • Zarówno konstruktor, jak i destruktor są skojarzone z obiektami.
  • Konstruktor 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 destruktorem?

Porównaj środek artykułu przed tabelą

Konstruktor kontra niszczyciel

Konstruktor to specjalny element członkowski w klasie używany do przydzielania pamięci do obiektu. Destruktor to specjalny element członkowski klasy, który służy 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
Konstruktor służy do przydzielania pamięci dla obiektów. Destruktor służy do zwalniania 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 z różną liczbą parametrów i różnymi typami parametrów. W klasie może znajdować się jeden 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. Destruktor nie może zostać przeciążony.

Podsumowanie - Constructor vs Destructor

OOP to powszechny paradygmat w tworzeniu oprogramowania, który 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 jest używany do przydzielania pamięci do obiektu, podczas gdy destruktor służy do zwalniania pamięci obiektu.

Pobierz plik PDF Constructor vs Destructor

Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytatową. Pobierz wersję PDF tutaj: Różnica między konstruktorem a niszczycielem

Zalecane: