La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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é.

Présentations similaires


Présentation au sujet: "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é."— Transcription de la présentation:

1

2 pour les programmeurs en C++ Java

3 2 Part 1

4 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

5 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...

6 5 JDK JDK: Java Development Kit Environnement de développement Java Version 1.5 http://www.sun.com

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

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

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

10 9

11 10

12 11

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

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

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

16 15

17 16 Programmation Internet Sockets RMI CORBA

18 17 RMI

19 18 CORBA

20 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”);

21 20 Java vs. C++

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

23 22 Types

24 23 Types

25 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;

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

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

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

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

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

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

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

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

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

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

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

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

38 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

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

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

41 40 Classe Object

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

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

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

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

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

47 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

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

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

50 49 Visibilité

51 50 Visibility

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

53 52 Classe Abstraite

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

55 54 Différences majeures

56 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

57 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

58 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)

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

60 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

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

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

63 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];

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

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

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

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

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

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

70 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

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

72 71 Résumé

73 72 Résumé

74 73 Résumé


Télécharger ppt "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é."

Présentations similaires


Annonces Google