Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parValentin Virgile Gagnon Modifié depuis plus de 9 années
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é
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.