[go: up one dir, main page]

Jump to content

Konstruktoret

Nga Wikipedia, enciklopedia e lirë

Me qëllim të inicializimit të variablave të cilat përfshihen në komponentet e klasës, brenda saj definohen funksione të veçanta, të cilat njihen si konstruktorë. Këto funksione ekzekutohen automatikisht, kur deklarohen objektet përkatëse të klasave në fjalë. Konstruktorët dallohen nga funksionet e zakonshme brenda klasës, sepse kanë emra të njëjtë me klasat dhe para emrave të tyre si dhe te komandat e fundit return nuk shënohet asgjë. Konstruktorët mund të kenë ose mund të mos kenë parametra formalë.

Konstruktorët pa parametra formalë

[Redakto | Redakto nëpërmjet kodit]

Nëse përcaktimi i vlerave të variablave në komponentet private bëhet brenda konstruktorëve, ato mund të mos kenë parametra formalë. Nuk është e thënë që vlerat e variablave private brenda klasës të jenë vetëm konstante. Ato mund të lexohen si vlera të çfarëdoshme edhe nga jashtë.

Konstruktorët me parametra formalë

[Redakto | Redakto nëpërmjet kodit]

Përmes konstruktorëve, si edhe përmes funksioneve të zakonshme, variablave brenda klasës mund t'u shoqërohen edhe vlera të çfarëdoshme.

Llogaritjet brenda konstruktorëve

[Redakto | Redakto nëpërmjet kodit]

Përveç inicializimit të variablave me vlera, brenda konstruktorëve mund të kryhen edhe llogaritje të ndryshme. Por, rezultatet e llogaritjeve duhet të përcillen te variablat e përfshira në komponentet e klasave. Nëse gjatë ekzekutimit të programit vlerat e variablave të caktuara brenda klasës nuk ndryshojnë, ato mund të inicializohen direkt gjatë deklarimit të objektit përkatës.

Disa konstruktorë njëkohësisht

[Redakto | Redakto nëpërmjet kodit]

Brenda një klase mund të përfshihen edhe disa konstruktorë njëkohësisht. Kjo lidhet me krijimin e disa objekteve të klasës në fjalë, ashtu që objektet e ndryshme të mund ta shfrytëzojnë njërin nga konstruktorët e definuar. Thirrja automatike e konstruktorit të caktuar lidhet me deklarimin e objektit përkatës dhe varet nga numri i parametrave aktualë ose nga tipi i tyre. Në këtë rast, meqë njëkohësisht definohen disa konstruktorë, flitet për konstruktorë të mbingarkuar (ang. overloading).

Thirrja në bazë të numrit të parametrave

[Redakto | Redakto nëpërmjet kodit]

Nëse konstruktorët e përfshirë në definicionin e klasës dallohen mes vete për nga numri i parametrave, përfshirë edhe konstruktorin pa parametra, kompjuteri do ta thërrasë automatikisht konstruktorin i cili ka aq parametra formalë sa janë shënuar brenda kllapave gjatë deklarimit të objektit përkatës në program.

Thirrja në bazë të tipit të parametrave

[Redakto | Redakto nëpërmjet kodit]

Nëse konstruktorët e përfshirë në definicionin e klasës dallohen mes vete për nga tipi i parametrave, kompjuteri do ta thërrasë automatikisht konstruktorin me tip të njëjtë të parametrave formalë me parametrat aktualë që janë shënuar brenda kllapave gjatë deklarimit të objektit përkatës në program.

Agni Dika, "Programimi i Orientuar në Objekte në C++" 2007.