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: Difference between Constructor and Destructor in C++ in hindi | Constructor Vs Destructor 2024, Listopad
Anonim

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.

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

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

Zalecana: