Upload
amadieu-jullien
View
106
Download
4
Embed Size (px)
Citation preview
POO
POO Programme du cours
• Langage de base : C++, exemples Java
• Approche « fondamentale »: connaître l’architecture, savoir implanter
• Conception abstraite : éléments d’UML
• Illustration du cours par des exemples
Programme du cours
• Concepts fondamentaux : encapsulation, protection, masquage
• Héritage : simple, multiple• Amitié : relations avec l’héritage• Polymorphisme : méthodes virtuelles• Eléments de programmation
événementielle : gestion des exceptions• Programmation générique : modèles des
classes (« templates »), la STL
Exemples
Garage
Véhicule
Camion Voitureclasse – agrégat
« container »
classe-parent
classes-enfants
5
Héritage simple class Vehicule{
protected :
int puissance;
int nbr_places;
int vol_moteur;
public :
Vehicule(int _p=4, int _n=5, int _v=3);
void Affiche() {cout<<“ Puissance = “
<<puissance<<“places = “
<<nbr_places<<“volume=“<<vol_moteur;}
};
Vehicule:: Vehicule(int _p=4, int _n=5, int _v=3){
puissance=_p;
nbr_places=_n;
vol_moteur=_v;
}
….
class Camion::public Vehicule
{
protected :
int vitesse_autorisee;
public :
Camion(int _p=8, int _n= 4, int _vol=6, int _vit=80):Vehicule(_p,_n,_vol){vitesse_autorisée=_vit;}
//Il faut définir un constructeur!
void affiche()
};
void Camion::affiche(){
cout<<“puissance=“<<puissance;
cout<<“nbr_places=“<<nbr_places;
cout<<“vol_moteur=“<<vol_moteur;
cout<<“vitesse_autorisée=”<<vitesse_autorisee;
}
TDs
• Objectif : un vrai savoir faire
• Développement des structures statiques, dynamiques, projet.