pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.

Slides:



Advertisements
Présentations similaires
Rappels C.
Advertisements

Formation universitaire à .NET: Introduction à C#
Cours n° 7 Standard Template Library II.
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
Approfondissement du langage
(Classes prédéfinies – API Java)
C.
Programmer en JAVA par Tama
IJA - TD 2 Bases du langage
Leçon 3 : Héritage IUP 2 Génie Informatique
Programmation orientée objet
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Mémoire de fin d’études présenté par Amine Brikci-Nigassa
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Introduction à la programmation (Java)
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Leçon 2 : Surcharge des opérateurs IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 7 : Classes et fonctions paramétrables Département.
Introduction au paradigme orienté-objet (suite)
Principes de programmation
Contrôle de types Les types en programmation Expressions de types Un contrôleur de types Equivalence de types Conversions de types Généricité.
IFT 6800 Atelier en Technologies d’information
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
Héritage Licence Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier.
L’essentiel du langage C
2.1 - Historique Chapitre 2 : Introduction au langage C++
Objectifs À la fin de ce cours, vous serez capables de :
4 Introduction des objets. Les chaînes et tableaux
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
Introduction à la programmation objet avec java
ALGORITHMIQUE ET PROGRAMMATION C
Un survol du language C.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Cours n° 1 Présentation du langage C++
 Syntaxe du langage PHP
Tutorat en bio-informatique
Strings et Tableaux en Java
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Introduction au langage JAVA
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Héritage Conception par Objet et programmation Java
PRO-1027 Programmation Scientifique en C
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
Programme de baccalauréat en informatique Structures de données IFT Abder Alikacem TP4 Département d’informatique et de génie logiciel Édition septembre.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Transcription de la présentation:

pour les programmeurs en C++ Java

2 Part 1

3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé par Sun Déclaration officielle en Mai 1995

4 Origines de Java Développé à partir de C et C++ Pallier aux problèmes de C++ Pointeurs (sécurité) Gestion de la mémoire Affectations...

5 JDK JDK: Java Development Kit Environnement de développement Java Version 1.5

6 JDK JDK 1.5 vs SDK 1.5 Java 1.5 vs Java 2

7 Pourquoi Java? Indépendant de la plate-forme Langage objet Programmation concurrente Programmation Internet

8 Code compilé vs. code exécutable Indépendant de la plate-forme

9

10

11

12 Langage objet Facile à utiliser Code réutilisable Facile à maintenir Lent à exécuter

13 Programmation concurrente C++ est mono-thread C et C++: simulation du multi-thread Java est multi-thread

14 Programmation Internet C++: plusieurs outils et beaucoup de temps Applets Servlets JSP

15

16 Programmation Internet Sockets RMI CORBA

17 RMI

18 CORBA

19 Les entrées/sorties C++ : cin >> nombre Java: BufferedReader stdin; stdin = new BufferedReader (new InputStreamReader (System.in) ); nombre = Integer.parseInt (stdin.readline() ); C++ : cout << “salut”; Java: System.out.printIn(“salut”);

20 Java vs. C++

21 Types La taille des types est fixe dans Java Tous les types sont signed

22 Types

23 Types

24 Types Java est fortement typé en C++: int i; short j; i = j; en Java, il faut caster: int i; Short j; i = (int) j;

25 Déclarations Variables (similaires): int entier; Constantes: java: final int entier = 0; C++: const int entier = 0;

26 Opérateurs arithmétiques Similaires en Java et C++ + : addition - : soustraction * : multiplication / : division % : modulo

27 Opérateurs logiques = = : tester l ’égalité (référence et contenu) ! = : différent > ou >= : supérieur ou égal < ou <= : inférieur ou égal

28 Opérateurs logiques && : AND exclusif II : OR exclusif & : AND inclusif (bits et valeurs booléennes) I : OR inclusif (birth = = true I ++ age > + 65)

29 Opérateurs bitwise Pareil que C++ >>> : décalage droite non signé

30 Structures de contrôle Conditionnelles: If switch Boucles: Pas d’instruction goto en Java For while do while

31 Structure if if (condition) {bloc1} else {bloc2} condition: expression logique Exemple: If (vosVentes >= 2*cible {performance = “excellent”; bonus = 1000; }

32 Structure switch switch (choix) { case variable1 : instructions break; case variable2 : instructions break; ………………………. }

33 Boucle for for (expression1; expression2; expression3) { instructions } for (int i = 10; i > 0; i --) { n = n + i; }

34 Boucle while while (condition) { instructions } while (I > 0) { n = n + i i --; }

35 Boucle do while do { instructions } while (condition); do { n = n + i i --; } while (i > 0);

36 Classes Mot clé: class Constructeur mais pas de destructeur

37 Héritage Java: l’héritage est public class Exemple extends Exercise C++: class Exemple: public Exercise Classe final: final class Exemple on ne peut instancier la classe

38 Héritage Pas d ’héritage avec des classes final C++: public, protected ou private Java: public

39 Classe Object Classe racine class Exemple = class Exemple extends Object Référence un objet de n’importe quel type

40 Classe Object

41 Classe Object Programmation générique Une classe peut ne pas avoir de constructeur Template en C++

42 Aggrégation Aggrégation: une classe contient une autre Exemple: Deux classes: Jeu et Balle Classe Jeu { Balle b; Balle getBalle (); } Aggrégation

43 Fonctions Pas de déclaration préalable Pas de prototypes

44 Paramètres C++ : pointeurs références valeurs Java: valeurs références

45 Paramètres Valeur: void calculerSomme (int x, int y) Référence: void parseFile (File f) Pointeurs: void remplirChaine(element *q)

46 Surcharge Surcharge de n’importe quelle méthode Pas de surcharge des opérateurs En C++ et Java: fonctions homonymes: respecter la valeur de retour

47 Méthodes Méthodes statiques Méthodes instanciables

48 Méthodes statiques private static void exempleFunction () NomDeClasse.methodeStatique (paramètres) N’opèrent pas sur une instance

49 Visibilité

50 Visibility

51 Classes abstraites Fonctions non toutes implantées Mot clé: abstract C++ : pure virtual methods

52 Classe Abstraite

53 Polymorphisme C++ : méthodes virtuelles pures Par défaut en Java liaison dynamique (late binding)

54 Différences majeures

55 Nombre de types Java: types primitifs ou bien une classe C++ : types primitifs, les structures, les pointeurs,... Pas de typedef en Java Pour chaque type correspond une classe: wrapper

56 Méthodes Toutes les fonctions font partie de la classe La fonction main ne retourne pas de valeur Pas de surcharge des opérateurs

57 Méthodes Pas de types paramétrés Pas de variables globales Pas d’arguments par défaut: max (int i=1; int j=3)

58 Méthodes Valeur de retour obligatoire Pas de paramètres à référence constante Méthodes statiques avec variables statiques

59 String Chaînes de caractères Pas de changement de valeur Plusieurs opérateurs dont le + + : concaténer deux chaînes String classement = “PG” + 13

60 String String S1 = “Hello”; String S2 = “Hello”; String S1 = new String (“Hello”) String S2 = new String (“Hello”) Hello S1 S2 Hello S1 S2

61 String charAt (int index) equals (Object obj) compareTo(String str) length()

62 Tableaux Déclaration: Java: int [ ] tabEntier = new int [5]; C++: int tabEntier [5]; multidimensionnel: Java: double [ ] [ ] balance = new double [6] [5]; C++: double balance[6] [5];

63 Tableaux C++ : tableau à plusieurs dimensions Java: tableau de tableau C++ : un type Java: un objet

64 Classe Vector Classe Vector: tous les types Vector articleCommandes = new Vector (3) Taille dynamique

65 Classe Vector addElement (Object element) removeElement (Object element) elementAt (int index)

66 Classe Vector size( ) firstElement( ) lastElement( )

67 Classes interfaces Aucune fonction n’est implantée Mot clé: interface Rôle: plus de flexibilité.

68 Héritage multiple Classes interface public interface Title { public abstract int compareTo();} class Employe implements Title

69 Gestion de la mémoire C++ : destructeurs Java: Garbage collector, pour la mémoire On peut forcer le gabage collector: System.gc(); Java: méthode finalize, pour les ressources

70 Les packages: java.awt Regroupement logique Protection physique L’instrument import: import java.awt.Frame Pas de pré-processeur Structuration

71 Résumé

72 Résumé

73 Résumé