Introduction la programmation objet Langage Java SI 3
Introduction à la programmation objet Langage Java SI 3 Débutant programmation Déry Anne Marie : pinna@polytech@unice. fr http: //courswiki. essi. fr/SI 1/Prog 101/Planning
A quoi sert la programmation ? • Passer d’un problème réel à une résolution informatique calculs mathématiques gestion de commandes jeux Analyser le problème, concevoir une solution, l’écrire dans un langage informatique, l’exécuter sur une machine
Types de programmation / langages de programmation • Programmation Procédurale : Pascal, C, Fortran • Programmation Fonctionnelle : Lisp, Scheme… • Logique : Prolog • Objet : C++, Java …
Langages de programmation / Environnements de programmation • Ecrire un programme, le transformer en code binaire, l’exécuter, le documenter, le tester…. • En Java – Editeur classique : emacs, kwrite et commandes systèmes – Blue. J – Eclipse
Objectifs du cours • Apprendre les principes de base de la programmation objet (premier niveau) • Apprendre les principes de base de l’algorithmique • Etre capable d’écrire un code « propre » : lisible, maintenable, deverminable • Savoir écrire un petit logiciel en Java
Contenu du cours • • • Introduction aux objets Algorithmes de base Structure de données : tableau Listes Tris de données Qualité et tests de code
Objets/instances et classes • Les objets (instances) représentent des entités du monde réel relatives au problème à traiter – Une voiture rouge de marque Ferrari – un carré de taille 4 cm de côté – Un échiquier de 16 cases • Les classes représentent tous les objets Ce sont les modèles des instances – – Voiture Carré Echiquier Case • Plusieurs instances peuvent être créées à partir d’une classe
Méthodes et attributs (variables d’instances) • • Des opérations peuvent être appliquées à des objets : ce sont les méthodes. On parle d’invocation de méthode Les méthodes ont des paramètres afin de passer des données à appliquer. – accélérer (vitesse) ma. Ferrari. accelerer(30); – déplacer(distance) – placer(un. Pion, une. Case) • • Les attributs (variables d’instances) sont les données stockées dans les instances La classe définit les méthodes (nom, liste de paramètres, algorithme…) – Que fait la méthode accélérer ? (changer la vitesse de la voiture) – Que fait la méthode déplacer ? (changer les coordonnées du carré) – Que fait placer(Pion, Case) ? Vérifier si un Pion peut être placé sur une case et si oui l’affecter. • La classe définit les attributs qui décrivent une instance; chaque instance ayant sa valeur propre. On parle de l’état d’un objet – La couleur, la marque, la vitesse des voitures. Ma Ferrari est rouge et roule à 130 – Les coordonnées et la taille d’un côté d’un carré….
Etat du Cercle circle 1 Quel est le nom de la classe ? Quel est le nom de l’instance ? Quelles sont les variables d’instances ? Quel est leur type ? Attention : il y a des conventions de nommage
Instances d’une classe Comment crée-t-on une instance ? Comment modifier la valeur d’une variable d’instance de circle 1 ? Comment afficher les positions du circle 2 ? Donner des exemples de méthodes ?
Structure d’une méthode • Une méthode a une entête et un corps • L’entête définit la signature d’une méthode. public int get. XPosition() Nom de la méthode public void show. Coord() Liste de paramètres Type de retour visibilité • Le corps contient les lignes de code
Structure d’une classe Nom de la classe public class Circle { // Variables d’instances : diameter, y. Position, x. Position // Constructeurs : Circle(int x, int y) // Méthodes : set. YPosition(int y); print. Coord() } Marqueurs du bloc de début et fin de la classe : {}
Variables d’instances public class Circle { private int x. Position; private int y. Position; private int diameter; private String color; private boolean is. Visible; ……. } • Visibilité : private, public, protected – Une variable d’instance est toujours privée a priori • Types de données : int, String, boolean, is. Visible, Circle – Un type est soit un type de base soit une classe Java Standard soit une classe définie par le programmeur • Nom de variable : Attention aux conventions de nommage – Commence par une miniscule, séparation des mots par une majuscule
Constructeurs : initialisation des instances Ils ont le même nom que la classe Ils stockent les valeurs initiales des attributs le plus souvent grâce aux valeurs des paramètres public Circle(int x, int y) { x. Position = x; 5 instructions d’affectations y. Position = y; diameter=5; color="blue" is. Visible=true; } public Circle(int x, int y, String c, int diameter) { this(x, y); x. Position = x; y. Position = y; diameter=this. diameter; color=c; is. Visible=true; } • Il peut y avoir plusieurs constructeurs dans une classe. • Il y a un constructeur par défaut sans paramètre
Création via Blue. J Nom attribué par Blue. J Instruction de création d’instances ATTENTION : les instances n’ont pas de nom en Java On les affecte à des variables : Voiture ma. Ferrari=new Voiture("Ferrari", "rouge");
Méthodes accesseurs Un type de méthode spécifique Qui fournit les informations (valeurs des variables d’instances) d’un objet public int get. XPosition() { return x. Position; } public String get. Color() { return color; } • Type de retour : int, String… – La méthode renvoie une valeur correspondant au type de retour • Nom de méthode : get. XPosition, get. Color ATTENTION Convention de nommage • • • Liste de paramètres : vide – l’information est dans l’instance on n’a pas besoin de données extérieures Marqueurs du Bloc de début et fin de la méthode : {} Visibilité : public – Peut être utilisée à l’extérieur de la classe, dans une autre classe • Instruction : instruction return – Il y a toujours un return quand une méthode renvoie une valeur de retour – C’est la dernière instruction exécutée
Méthodes mutator Méthode spécifique pour changer l’état d’un objet. . . – contient une instruction d’affectation : affectation des variables d’instances. – reçoit des paramètres : valeur à affecter. public void set. XPosition (int x) { x. Position = x; } public void set. Color(String x) { color = x; } Type de retour (void) : ne renvoie rien Nom de méthodes : set. XPosition, set. Color(String x) ATTENTION au convention de nommage Paramètres : int x, String x Visibilité : public Instruction : affectation d’une variable d’instances x. Position = x;
Affichage public void show. Coord() { System. out. println(" Les coordonnées sont : "); System. out. println(" x : " + x. Position + " y: " + y. Position ); } Instruction d’écriture Concaténation de chaines Méthode prédéfinie pour l’affichage d’une instance public String to. String() { return " x : " + x. Position + " y: " + y. Position + " diamètre: " + diameter + " couleur: " + color; } …. System. out. println(circle 1); System. out. println(circle 1. to. String());
- Slides: 18