Kluczowa różnica – konstruktor kontra destruktor
Większość języków programowania obsługuje programowanie zorientowane obiektowo (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 obiekt. Obiekty są tworzone lub tworzone przy użyciu klas. Konstruktor i destruktor to popularne terminy 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 (~). Kluczowa różnica między konstruktorem a destruktorem polega na tym, że konstruktor służy do przydzielania pamięci obiektowi, podczas gdy destruktor służy do zwalniania pamięci obiektu.
Kim jest Konstruktor?
Konstruktor to specjalna funkcja składowa w klasie, która alokuje pamięć 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 zwracanego typu. Konstruktor może również akceptować parametry. Konstruktor z parametrami jest znany jako konstruktor sparametryzowany.
Przykład konstruktora jest następujący.
public class Prostokąt{
int długość, szerokość;
public Rectangle(int p, int q){
długość=p;
szerokość=q;
}
public int obliczObszar(){
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ą to p i q. Do długości przypisana jest wartość całkowita p. Do szerokości przypisana jest wartość całkowita q. W calcu alteArea oblicza się mnożenie długości i szerokości, aby znaleźć pole prostokąta. W głównym programie programista może stworzyć obiekt typu Rectangle i przekazać argumenty. np. Rectangle rect1=nowy 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 destruktor
Kiedy istnieje konstruktor bez żadnych parametrów, jest on nazywany 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 konstruktor domyślny. np. Student s1=nowy Student(); W klasie może być wiele konstruktorów z różnymi parametrami i różnymi typami danych. Odpowiedni konstruktor można nazwać odpowiednio. Dlatego konstruktory mogą być przeciążone.
Co to jest destruktor?
Destruktor to specjalna funkcja składowa w klasie. Służy do zwalniania pamięci dla obiektu stworzonego przez konstruktora. Destruktor jest wywoływany, gdy obiekt zostanie zniszczony. Wykonuje 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 akceptuje ż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 można ją wykorzystać do przechowywania niektórych innych obiektów. Składnia destruktora jest podobna do ~className() { }. np. ~Prostokąt() { }; W klasie może być tylko jeden destruktor.
Jakie są podobieństwa między konstruktorem a destruktorem?
- 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 destruktorem?
Konstruktor kontra destruktor |
|
Konstruktor to specjalny element klasy, który jest używany do przydzielania pamięci do obiektu. | Destruktor to specjalny element klasy, który jest używany do zwalniania pamięci obiektu. |
Metoda wywoływania | |
Konstruktor jest wywoływany podczas tworzenia obiektu. | Destruktor jest wywoływany, gdy obiekt zostanie zniszczony lub usunięty. |
Zastosowanie | |
Konstruktor jest używany do alokacji pamięci dla obiektów. | Destruktor jest używany do zwalniania pamięci dla obiektów. |
Parametry | |
Konstruktor akceptuje parametry. | Destruktor nie akceptuje parametrów. |
Liczba konstruktorów i destruktorów | |
Może istnieć wiele konstruktorów z różną liczbą parametrów i różnymi typami parametrów. | W klasie może być jeden destruktor. |
Prędkość 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 być przeciążony. |
Podsumowanie – Konstruktor kontra destruktor
OOP to powszechny paradygmat w tworzeniu 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 obiektowi, podczas gdy destruktor służy do zwalniania pamięci obiektu.
Pobierz plik PDF Konstruktor kontra Destruktor
Możesz pobrać wersję PDF tego artykułu i używać jej do celów offline zgodnie z notatką cytowania. Proszę pobrać wersję PDF tutaj: Różnica między konstruktorem a destruktorem