[PDF] Programmation Objet Cours 1



Previous PDF Next PDF







Programmation Objet Cours 1

Programmation Objet Cours 1 Marie-Pierre B´eal est orient´e objet, est compil´e–interpr´et´e, est sans h´eritage multiple, `a partir de la version 1 5



Programmation Orient´ee Objet - fil

I pr´esenter les concepts de base de l’approche objet de la programmation I adopter le “penser objet” I connaˆıtre et savoir mettre en œuvre les concepts fondamentaux I pr´eparer au cours de Conception Orient´ee Objet du S5 portail fil univ-lille1 fr/ls4/poo Universit´e Lille 1 - Licence Informatique Programmation Orient´ee Objet 2



Programmation Orient ee Objet (Concepts)

notions fondamentales de la programmation orient ee objet Plus pr ecis ement, nous etudierons successivement : D e nition 0 1 Programmation orient ee objet : ou programmation par objet, est un paradigme de programmation informatique qui consiste en la d e nition et l’assemblage de briques logicielles appel ees objets; un objet repr esente



Programmation Orient´ee Objet - FIL Lille 1

objet n’est d´etermin ´ee qu’au moment de l’ex´ecution (run time),→ le compilateur ne v´erifie « que » l’acceptation du message et la validit´e des types d’arguments et de retour Universit´e Lille – Sciences et Technologies - Licence mention Informatique Programmation Orient ´ee Objet 18



Bases de la programmation orientée objet Introduction

Notions tr es li ees a celles du cours Conception Orient ee Objet 2/56 Planning du cours - 1h par s eance 1 G en eralit es : Java et la notion d’objet (ˇ3 cours) 2 H eritage et Polymorphisme (ˇ3 cours) 3 Structures de donn ees et G en ericit e (ˇ3 cours) 4 Gestion d’exceptions (ˇ1 cours) Une heure JOKER JOKER



Programmation Orient ee Objet (UML)

Ces notes de cours accompagnent les enseignements d’informatique du 4ieme semestre (S4) de Programmation Orient ee Objet (POO) de l’Ecole Nationale d’Ing enieurs de Brest (ENIB : www enib fr) Leur lecture ne dispense en aucun cas d’une pr esence attentive aux cours ni d’une participation active aux travaux dirig es



Laprogrammationorientéeobjeten Python

—Desméthodes,lesopérationsquis’appliquentsurl’objet Pourvouséclairer,prenonslecodesuivant : 1 >>> number = 5 # On instancie une variable `number` de type `int`



Les bases de la programmation orientée objet avec Java

Les avantages de la programmation objet Les caractéristiques de bases précédemment décrites peuvent être mises en oeuvre dans un style impératif, mais des fonctionnalités propres au style objet favorisent: la programmation modulaire l'abstraction la spécialisation

[PDF] Calcul des structures hyperstatiques Cours et exercices corrigés

[PDF] Calcul des structures hyperstatiques Cours et exercices corrigés

[PDF] Principe d 'inertie Exercices corrigés

[PDF] EXERCICE 1 (5 points ) (Commun ? tous les - Math France

[PDF] probabilites #8211 exercices corriges - Free

[PDF] Exemples d 'exercices de type « bac » Série ST2S Probabilités

[PDF] TP5 Cartographie

[PDF] Exercice informatique - poo informatique - Exercice poo

[PDF] TD corrigés sur les ondes - Unisciel

[PDF] Puissances de 10 Exercices corrigés - SOS Devoirs Corrigés

[PDF] Travaux dirigés de mécanique quantique #8211 L2 2016

[PDF] Feuille d 'exercices type brevet : Pythagore

[PDF] Corrigé exercice : Qualité Énoncé : Dans une entreprise on veut

[PDF] 1IMRT, Exercices et problèmes de radioactivité (corrigés) ( feuille 2

[PDF] CORRIGE EXERCICES

Programmation Objet. Cours 1

Marie-Pierre B´eal

UPEM DUT 1

Programmation objet. Classes et objets.

Principaux styles de programmation

Style imp´eratif

Fond´e sur l"ex´ecution d"instructions modifiant l"´etat de la m´emoire. Utilise une structure de contrˆole et des structures de donn´ees.

Usage intensif de l"it´eration.

Langages typiques : Fortran, C, Pascal.

Principaux styles de programmation

Style applicatif

Fond´e sur l"´evaluation d"expressions, o`u le r´esultat ne d´epend que de la valeurs des arguments (et non de l"´etat de la m´emoire).

Donne programmes courts, faciles `a comprendre.

Usage intensif de la r´ecursivit´e.

Langage typique : Lisp, Caml.

Principaux styles de programmation

Style objet

Un programme est vu comme une communaut´e de composants autonomes (objets) disposant de ses ressources et de ses moyens d"interaction. Utilise des classes pour d´ecrire les structures et leur comportement.

Usage intensif de l"´echange de messages.

Langages typiques : C++, Java, Ruby, Python.

Principaux styles de programmationSouvent un mˆeme langage permet diff´erents styles de programmation.

Avantages du style objet

Facilite la programmation modulaire

La conception par classes conduit `a des composants r´eutilisables. Un composant offre des services et en utilise d"autres. Les services sont expos´es `a travers uneinterface. Les d´etails d"impl´ementations sont cach´es (encapsulation).

Les composants sont r´eutilisables.

Avantages du style objet

Abstraction et sp´ecialisation

L"abstraction s´epare la d´efinition de son impl´ementation. L"abstraction extrait un mod`ele commun `a plusieurs composants. Le mod`ele commun est partag´e par le m´ecanisme d"h´eritage.

La sp´ecialisation traite de cas particuliers.

Le m´ecanisme de d´erivation rend les cas particuliers transparents.

JavaJava (nom d´eriv´e de Kawa) a vu le jour en 1995.Actuellement version JDK 1.8 (aussi appel´ee Java 8).Distributions et sp´ecifications Oracle : Java SE, Java ME, Java EE.

est fortement typ´e, est orient´e objet, est compil´e-interpr´et´e, est sans h´eritage multiple, `a partir de la version 1.5, Java offre de la g´en´ericit´e (lesgenerics sont diff´erents destemplatedu C++)

Premier exemple

On ´ecrit le code source java suivant dans le fichier

HelloCharlie.java:

classHelloCharlie { public static voidmain (String[] args) {

System.out.println("Bonjour Charlie");

On compile avecjavac HelloCharlie.java

On lance l"ex´ecution (l"interpr´etation du bytecode) parla machine virtuelle Java avecjava HelloCharlie $ javac HelloCharlie.java $ ls

HelloCharlie.class HelloCharlie.java

$ java HelloCharlie

Bonjour Charlie

Autre exemple

On ´ecrit ce code source java suivant dans le fichier

AdditionTest.java:

classAdditionTest { public static voidmain (String[] args) { intn = 100; intm = 200;

System.out.println(n + m);

On compile avecjavac AdditionTest.java

On lance l"ex´ecution avecjava AdditionTest, on obtient 300.

Les objetsUn objet est un composant situ´e dans une zone m´emoire.On le manipule par son adresse appel´ee r´ef´erence.

20 34
10 p1p2 classTest { public static voidmain (String[] args) {

Pixel p1 =newPixel(20,3);

Pixel p2 =newPixel(4,10);

Les classes

Une classe

d´efinit la structure de l"objet, d´efinit le comportement de l"objet (par les m´ethodes), d´efinit le moule pour la cr´eation des objets, permet de d´eclarer un nouveau type.

Les classes

Une classe est compos´ee de

d´eclarations de variables (attributs ou champs); d´efinitions de fonctions (m´ethodes); (d´eclarations d"autres classes (nested classes)). On ´ecrit chaque classe dans un fichier s´epar´e qui a comme nom Pixel.javasi la classe se nommePixel. Le nom est en majuscule. classPixel { intx; inty; Les m´ethodesLes noms des m´ethodes commencent par une minuscule. classPixel { intx; inty; voidprintX(){

System.out.println(x);

voidmove(intdx,intdy){ x = x + dx; y = y + dy; Les constructeursLes constructeurs permettent la cr´eation des objets parnew.

Son type de retour estvoidsans l"´ecrire.

classPixel { intx; inty; voidprintX(){

System.out.println(x);

voidmove(intdx,intdy){ x = x + dx; y = y + dy;

Pixel(intx0,inty0) {

x = x0; y = y0; Utilisation des classes et objetsDans une autre classePixelTest, on fabrique et utilise des points. Onappelle une m´ethode sur un objetavec le symbole·. classPixelTest { public static voidmain (String[] args) {

Pixel p1 =newPixel(20,3);

Pixel p2 =newPixel(5,12);

p1.printX(); p2.move(1,1); p2.printX();

Utilisation des classes et objets

x : 20 y : 3x : 5 y : 12 p1p2 $ java PixelTest 20 6

Utilisation dethis

Le mot cl´ethisest utilis´e pour d´esigner une r´ef´erence sur l"objet courant dans une classe. classPixel { intx; inty;

Pixel(intx,inty) {

this.x = x; this.y = y;quotesdbs_dbs12.pdfusesText_18