Většina programovacích jazyků podporuje objektově orientované programování (OOP). Je to paradigma, které pomáhá modelovat software nebo program pomocí objektů. OOP zvyšuje produktivitu a udržovatelnost. V OOP je vše považováno za objekt. Objekty jsou vytvářeny nebo instancovány pomocí tříd. Konstruktor a ničitel jsou běžné pojmy v objektově orientovaném programování. Tento článek popisuje rozdíl mezi konstruktorem a destruktorem. Konstruktor a destruktor jsou speciální členskou funkcí ve třídě. Konstruktor a destruktor mají stejný název jako třída, ale destruktor má znak vlnovky (~). klíčový rozdíl mezi konstruktorem a destruktorem je to konstruktor se používá k přidělení paměti objektu, zatímco destruktor se používá k přidělování paměti objektu.
1. Přehled a klíčový rozdíl
2. Co je konstruktér
3. Co je ničitel
4. Podobnosti mezi konstruktorem a ničitelem
5. Porovnání bok po boku - konstruktor proti ničiteli v tabulkové formě
6. Shrnutí
Konstruktor je speciální členská funkce ve třídě pro přidělení paměti objektu. Může být použit k poskytnutí hodnot pro datové členy. Konstruktor je vyvolán při vytvoření objektu. Má stejné jméno jako název třídy. Konstruktor nevrací žádnou hodnotu. Proto neobsahuje návratový typ. Konstruktor může také přijímat parametry. Konstruktor s parametry je známý jako parametrizovaný konstruktor.
Příklad konstruktoru je následující.
veřejná třída Rectangle
int délka, šířka;
public Rectangle (int p, int q)
length = p;
width = q;
public int calculationArea ()
návrat (délka * šířka);
Podle výše uvedeného kódu má konstruktor stejné jméno jako jméno třídy. Konstruktor Rectangle přijímá dva parametry. Jsou to p a q. Celé hodnotě p je přiřazena délka. Celá hodnota q je přiřazena šířce. V CalcualteArea se vynásobí délka a šířka, aby se našla oblast obdélníku. V hlavním programu může programátor vytvořit objekt typu Obdélník a předat argumenty. např. Obdélník obdélník1 = nový obdélník (2,3). Potom se vyvolá parametrizovaný konstruktor a přiřadí hodnoty délce a šířce.
Obrázek 01: Konstruktor a ničitel
Pokud existuje konstruktor bez jakýchkoli parametrů, nazývá se výchozí konstruktor. Pokud programátor nedefinuje konstruktor, bude vyvolán výchozí konstruktor. Pokud existuje třída jako Student a když programátor vytvoří objekt typu Student, bude volán výchozí konstruktor. např. Student s1 = nový student (); Ve třídě může být více konstruktérů s různými parametry a různými datovými typy. Příslušný konstruktor lze podle toho nazvat. Proto mohou být stavitelé přetíženi.
Destruktor je speciální členská funkce ve třídě. Používá se k alokaci paměti pro objekt vytvořený konstruktorem. Destruktor je vyvolán, když je objekt zničen. Provádí úložiště čištění, které již není potřeba. Stejně jako konstruktor má destruktor stejné jméno jako třída. Obsahuje také symbol vlnovky (~).
Destruktor nevrací žádnou hodnotu. Na rozdíl od konstruktoru destruktor nepřijímá žádné parametry. Destruktor tedy nepodporuje přetížení. Deklarování destruktoru je považováno za dobrý programovací postup, protože uvolňuje paměťový prostor a tento prostor lze použít pro ukládání některých dalších objektů. Syntaxe destruktoru je podobná ~ className () . např. ~ Obdélník () ; Ve třídě může být pouze jeden destruktor.
Konstruktor vs. Destruktor | |
Konstruktor je speciální člen ve třídě, který se používá k přidělení paměti objektu. | Destruktor je speciální člen třídy, který se používá k přidělování paměti objektu. |
Způsob vyvolání | |
Při vytváření objektu se vyvolá konstruktor. | Destruktor se nazývá, když je objekt zničen nebo odstraněn. |
Používání | |
Konstruktor se používá k přidělení paměti pro objekty. | Destruktor se používá k přidělování paměti pro objekty. |
Parametry | |
Konstruktor přijímá parametry. | Destruktor nepřijímá parametry. |
Počet konstruktorů a ničitelů | |
Může existovat více konstruktérů s různým počtem parametrů a různými typy parametrů. | Ve třídě může být jeden destruktor. |
Rychlost provádění | |
Konstruktor má stejný název jako název třídy. | Destruktor má stejné jméno jako název třídy se symbolem vlnovky (~). |
Přetížení | |
Konstruktor může být přetížen. | Destruktor nemůže být přetížen. |
OOP je běžné paradigma ve vývoji softwaru. Může to zjednodušit složitý projekt. V OOP se používají konstruktor a destruktor. Konstruktor a destruktor mají stejný název jako třída, ale destruktor má znak ~. Rozdíl mezi konstruktorem a destruktorem spočívá v tom, že se konstruktor používá k přidělení paměti objektu, zatímco destruktor se používá k přidělování paměti objektu..
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si PDF verzi zde: Rozdíl mezi konstruktorem a ničitelem
1.tutorialspoint.com. "Java Object and Classes." Bod, K dispozici zde