Konstruktor (računalništvo)
Videz
Za druge pomene glej Konstruktor (razločitev).
Konstruktor je metoda razreda v računalniškem programiranju, ki poskrbi za njegovo udejanjenje (instantizacijo). Konstruktor nosi isto ime, kot razred in poskrbi za stvaritev objekta razrednega tipa in nastavitev prvotnih vrednosti (inicializacija).
Kot je pri objektno usmerjenih programskih jezikih v navadi, ima razred lahko več konstruktorjev, ki se uporabijo, odvisno od podanih vhodnih vrednosti.
Vrste konstruktorjev
[uredi | uredi kodo]- privzeti konstruktor
- kopirni konstruktor
- pretvorbeni konstruktor
Programska koda
[uredi | uredi kodo]Primer razreda Avto z eno lastnostjo in tremi konstruktorskimi metodami, eno za privzeto barvo, eno za točno določeno barvo in tretjo za prenos barve:
class Avto { var barva : String; //privzeti konstruktor function Avto() { barva = 'bela'; //osnovna barva } // kopirni konstruktor function Avto (aAvto : Avto) { barva = aAvto.barva; // kopirana barva od drugega } //pretvorbeni konstruktor function Avto(aBarva : String) { barva = aBarva; //podana barva } }
Primer udejanjenja razreda Avto na tri načine:
var mojAvto : Avto = new Avto(); var navadenAvto : Avto = new Avto('rdeča'); var kopirniAvto : Avto = new Avto(navadenAvto);
C++
[uredi | uredi kodo]Primer razreda Tocka s tremi konstuktorji in destruktorjem.
class Tocka { public: Tocka(int aX); // privzeti konstruktor Tocka(int aX, int aY); //pretvorbeni konstruktor Tocka(const Tocka &staraTocka); // kopirni konstruktor ~Tocka(); // destruktor int x, y; }; Tocka::Tocka(int aX) { x = aX; y = 0; } Tocka::Tocka(int aX, int aY) { x = aX; y = aY; } Tocka::Tocka(const Tocka &staraTocka) { x = staraTocka.x; y = staraTocka.y; } Tocka::~Tocka() { // nas destruktor } int main() { Tocka a(14); // klicemo privzeti konstuktor Tocka b(12, 16); // klicemo pretvorbeni konstruktor Tocka c(a); // klicemo kopirni konstruktor return 0; }