Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Le cœur du langage
• Classe = Type
• Objet = Instance du type
• Guitare c;
c
• c=new Guitare("Fender");
"Fender"
180 m
• Objet Eleve durand ? 80 kg
"Jean"
• Objet Connexion uneConnexion ?
getAge()
• Classe Elève
• Classe Connexion
perimetre()
HelloWorld.java
Compilateur
javac HelloWorld.java
HelloWorld
HelloWorld.class
Machine Virtuelle
java HelloWorld.java
Patient
String
nom
Durand
prenom
Paul
Paul
0x234
class PaintShopPro {
Cercle leCercle=new Cercle(0,0,10);
public int uneFonction() {
int surface=leCercle.getArea();
return surface;
}
}
class Cercle {
public void afficheToi() {
System.out.println(
"Je suis un cercle de surface"+this.getArea();
}
}
}
Partie publique
Partie
privée
• Intérêts :
– Modification de la partie privée, tout en gardant la
même définition publique
– Masquer certains détails
• D'une manière générale
– Tous les attributs d'une classe sont "protected"
– Certaines méthodes sont "public" d'autres privées
String.valueOf(k);
Integer.toString(i);
j.intValue();
Integer.parseInt(k);
new Integer(i)
int i=5;
public class C {
void methode1(int i, StringBuffer s) { i++; s.append("d");}
void methode2() {
int i = 0;
StringBuffer s = new StringBuffer("abc");
methode1(i, s);
System.out.println("i=" + i + ", s=" + s); // i=0, s=abcd
}
}
int i=12;
String toto="Bonjour";
• Instructions – Affectation : = += -= *= /= %=
– if
– while, do while, for
– selection (switch)
• Déclaration
int[] array_of_int; // équivalent à : int array_of_int[];
Color rgb_cube[][][];
• Création et initialisation
array_of_int = new int[42];
rgb_cube = new Color[256][256][256];
int[] primes = {1, 2, 3, 5, 7, 7+4};
array_of_int[0] = 3
• Utilisation
int l = array_of_int.length;// l = 42
int e = array_of_int[50]; // Lève une ArrayIndexOutOfBoundsException
} 2
class PileSale{...
3 assiette depiler ()
throws PasDAssietteException {
if (pileVide()){
throw new PasDAssietteException(« fin de pile »);
}
return (Assiette)elemeentSuivant();
}
}
import time.clock.Watch;
...
Watch toto=new Watch();
...
paintShop/MainClass.java
package paintShop;
import graph.2D.*;
public class MainClass()
{
public static void main(String[] args) {
graph.2D.Circle c1 = new graph.2D.Circle(50)
Circle c2 = new Circle(70);
graph.3D.Sphere s1 = new graph.3D.Sphere(100);
Sphere s2 = new Sphere(40); // error: class paintShop.Sphere not found
}
javac ? ???
...
Circle c1;
if (condition) {
Circle c2 = new Circle(); // c2 référence une nouvelle instance
c1 = c2;
}
// La référence c2 n'est plus valide mais il reste une référence,c1,
// sur l'instance
FormesGraphiques
FormesEuclidiennes
Ellipse Trapeze
Cercle Rectangle
Cercle forme3;
forme3=forme1; //Erreur de compilation forme1 de type FormesGeométrique
...
Shape[] shapes = {new Circle(2), new Rectangle(2,3), new
Circle(5)};
double sum_of_perimeters = 0;
for(int i=0; i<shapes.length; i++)
sum_of_perimeters = shapes[i].perimeter();
...
Drawable[] drawables = {new Circle(2), new Rectangle(2,3), new
Circle(5)};
for(int i=0; i<drawables.length; i++)
drawables[i].draw();