Le mot-clé this désigne, dans une classe, l'instance courante de la classe elle-même.
Un constructeur d’une classe donnée intervient au moment de l’instanciation d’un objet de type cette classe. Le constructeur initialise les attributs (propriétés) de cet objet pour qu’il soit cohérent. Le constructeur est une méthode de la classe, mais particulière :
public Client( ){
}
Pour une classe donnée, on peut définir plusieurs constructeurs, tous ces constructeurs partagent le même nom (le nom de la classe), mais se distinguent par le nombre et les types d’arguments, cette distinction s’appelle en orientée objet surcharge.
- Le constructeur d’initialisation (ou le constructeur avec paramètres) : Ce constructeur initialise les propriétés de l’objet au moment de l’instanciation, par les valeurs passées en paramètre
public class Client {
//Déclaration des attributs
private int num ; private string nom ;
private double chiffre_affaire ;
//Implémentation d’un constructeur d’initialisation
public Client(int num, string nom, double ca){ this.num=num ;
this.nom=nom; this.chiffre_affaire=ca;
}
}
Cela va permettre d’instancier la classe Client de la façon suivante :
class Program {
public static void main(String[]args){ Client cli=new Client(2, "Ali", 10000);
}
}
Le constructeur par défaut : Un constructeur par défaut est un constructeur qui peut être appelé sans paramètre. À noter qu'il peut s'agir d'un constructeur sans paramètres, ou d'un constructeur dont les paramètres ont des valeurs par défaut.
public class Client {
//Déclaration d’attributs
// ....
//constructeur d’initialisation
// ....
//constructeur par defaut
public Client ( ){
}
}
Instanciation du constructeur par défaut se fait de la façon suivante :
class Program {
public static void main(String[]args){ Client cli=new Client();
}
}
Constructeur de recopie : Le constructeur de recopie permet de copier les propriétés d’un objet existant dans la nouvelle instance.
Exemple :
public class Client {
//Déclaration d’attributs
// ....
//constructeur d’initialisation
// ....
//constructeur par defaut
// ...
public Client (Client c){ this.num=c.num ; this.nom=c.nom ;
this.chiffre_affaire=c.chiffre_affaire;
}
}
Programme principal :
class Program {
public static void Main(string[]args){ Client clt1=new Client( ); //C. par défaut
Client clt2=new Client(22, "Mohamed", 20000) ; //C. d’initialisation
Client clt3=new Client(clt2) ; //Constructeur de recopie
}
}
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.