Konstruktoret
Kjo faqe është e palidhur nga faqe të tjera. |
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.