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.
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