Constructor (IT)
Constructorii , în informatică și în special în programarea orientată pe obiecte , indică metode asociate cu clasele care au scopul de a inițializa variabilele de instanță. Apelul se face automat atunci când este creat un nou obiect al unei clase și în majoritatea limbilor nu este posibil să-l apelați manual mai târziu.
Utilizare
În multe limbi (de exemplu în Java și C ++ ) au același nume cu clasa din care fac parte. La fel ca toate celelalte metode, constructorii pot avea parametri și pot fi definiți în mai multe versiuni prin supraîncărcare . Evident, nu este posibil să se returneze nicio valoare de la constructori, deoarece tipul de returnare este în mod implicit obiectul în sine.
Tipuri de constructor
Pe lângă producătorul simplu, există două tipuri speciale de constructori: constructorul implicit sau constructorul implicit și constructorul de copiere sau constructorii de copiere. Primii sunt constructori la care nu sunt trecuți parametri, în timp ce copiile sunt cele care iau ca parametru o altă instanță din aceeași clasă și apoi copiază toate proprietățile acelei instanțe.
Constructor implicit
Constructorul implicit este un tip de constructor predefinit care, ca o singură declarație, creează și instanțiază variabile și, prin definiție, nu este descris în codul sursă .
Constructor privat
Constructorul privat este un tip de constructor care nu este vizibil pentru alte clase . Pentru a crea obiectul, se creează o metodă statică cu tipul de returnare a obiectului; în acest fel, dacă sunt îndeplinite unele condiții, obiectul este instanțiat, în timp ce, dacă condițiile nu sunt îndeplinite, obiectul nu este creat. Aceasta este pentru a preveni crearea obiectelor neutilizate sau a obiectelor cu caracteristici inadecvate.
Limbaje de programare
Aproape toate limbajele de programare orientate pe obiecte permit definirea constructorilor.
C ++
În C ++ este suficient să declarați o metodă cu același nume ca și clasa. Tipul de returnare nu trebuie introdus.
clasa Punct
{
public :
Punct (); // Constructor implicit
Punct ( int x , int y ); // Constructor generic
Punct ( Punct și altele ); // Constructor copiere
// ... alte metode ...
privat :
int x ;
int y ;
}
C #
Chiar și în C # este suficient să se declare o metodă cu același nume ca și clasa. Tipul de returnare nu trebuie introdus.
public class Point
{
plutitor privat x ;
plutitor privat y ;
public Point () // Constructor implicit
{ // ... cod aici ...
}
public Point ( Point otherPoint ) // Constructor copiere
{ // ... cod aici ...
}
punct public ( float x , float y ) // Constructor generic
{ // ... cod aici ...
}
}
Java
Sintaxa în java, pentru constructorul explicit, este identică cu cea a lui C # .
public class Point
{
plutitor privat x ;
plutitor privat y ;
public Point () // Constructor implicit
{ // ... cod aici ...
}
public Point ( Point otherPoint ) // Constructor copiere
{ // ... cod aici ...
}
punct public ( float x , float y ) // Constructor generic
{ // ... cod aici ...
}
}
în timp ce funcția constructor este echivalentă cu constructorul explicit subiacent
public class Point
{
plutitor privat x ;
punct public ()
{ // aici rămâne fără cod
}
}
și poate fi omis.
PHP
Comportamentul PHP variază în funcție de versiunea utilizată.
PHP 4
Doar numiți numele constructorului ca numele clasei.
clasa Punct
{
var $ x ;
var $ y ;
funcție Punct ( $ x , $ y )
{
// ... cod aici ...
}
}
PHP 5 și versiuni ulterioare
În versiunea 5 numele funcției trebuie să fie __construct
clasa Punct
{
privat $ x ;
privat $ y ;
funcție publică __construct ( $ x , $ y )
{
// ... cod aici ...
}
}
Notă
- java builder , pe iluminamente.org .
Bibliografie
- Fabrizia Scorzoni, Computer Science Programming in Java , Turin, Loescher, 2009, ISBN 978-88-8433-030-7 .
Elemente conexe
linkuri externe
- Constructori , pe DIS UNIROMA . Adus pe 29 aprilie 2014 .
- Programare orientată pe obiecte ( PDF ), pe IET UNIPI . Adus pe 29 aprilie 2014 .
- C # constructor , pe MSDN MICROSOFT . Adus pe 29 aprilie 2014 .
- Constructor C ++ , pe MSDN MICROSOFT . Adus pe 29 aprilie 2014 .
- Reguli pentru declararea constructorilor în C ++ , pe MSDN MICROSOFT . Adus pe 29 aprilie 2014 .