Konstruktoret

Nga Wikipedia, enciklopedia e lirë

Konstruktoret[Redakto | Redakto nëpërmjet kodit]

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.

Referim[Redakto | Redakto nëpërmjet kodit]

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