Konstruktorius – tai speciali klasės funkcija (metodas) programavime, kuri automatiškai iškviečiama kuriant naują objektą. Jos pagrindinis tikslas – inicijuoti objekto būseną (pvz., nustatyti pradines savybių reikšmes).
Pagrindiniai bruožai:
1. Pavadinimas visada sutampa su klasės pavadinimu.
2. Neturi grąžinimo tipo (net `void`).
3. Dažniausiai naudojamas priskirti pradines reikšmes laukams (kintamiesiems).
Pavyzdžiai:
1. Paprastas konstruktorius (C++ kalba):
cpp
class Automobilis {
public:
string marke;
int metai;
// Konstruktorius
Automobilis(string m, int met) {
marke = m;
metai = met;
cout << "Sukurtas: " << marke << " (" << metai << ")\n";
}
};
// Naudojimas:
Automobilis audi("Audi", 2020);
// Iš karto inicijuoja reikšmes
2. Konstruktorius su numatytosiomis reikšmėmis (Python kalba):
python
class Knyga:
def __init__(self, pavadinimas="Nežinoma", puslapiai=0):
self.pavadinimas = pavadinimas
self.puslapiai = puslapiai
print(f"Sukurta knyga: {self.pavadinimas}")
Naudojimas:
k1 = Knyga("Haris Poteris", 300) Sukuria su nurodytomis reikšmėmis
k2 = Knyga() Sukuria su numatytosiomis reikšmėmis
3. Konstruktorius Java kalboje:
java
public class Studentas {
private String vardas;
private int amzius;
public Studentas(String vardas, int amzius) {
this.vardas = vardas;
this.amzius = amzius;
}
}
// Naudojimas:
Studentas stud = new Studentas("Jonas", 21);
Trumpai:
- Kodėl reikalingas? Kad objektas būtų iškart tinkamai paruoštas naudojimui.
- Kada vykdomas? Tik sukūrus objektą (su `new` ar tiesiogiai deklaruojant).
- Alternatyva: Jei klasėje nėra konstruktoriaus, kalba automatiškai sukuria tuščią (numatytąjį) konstruktorių.
Analogija: Statybose – konstruktorius kaip "statytojas", kuris pastatęs namą (objektą) iškaišo duris, langus (inicijuoja reikšmes).
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.