cours/java.md
Oscar Plaisant 62f0313af1 update
2024-09-20 21:31:23 +02:00

1.3 KiB

up::langage de programmation title::"paradigme programmation orientée objet, haut niveau" #informatique

[!query]+ Sous-notes de $= dv.el("span", "[[" + dv.current().file.name + "]]")

title: false
type: tree
dir: down

OOP

voir : paradigme programmation orientée objet

Méthodes

Héritage

Polymorphisme

polymorphisme, vient du grec signifie "peut prendre plusieurs formes"

[!example] Exemple

Point p = new Point();
Object o = p;
o.deplace(3, 4); // ERREUR : deplace n'est pas une méthode de Object
Point p1 = (Point) o;
p1.deplace(3, 4); // OK : conversion de type
((Point)o).deplace(3, 4); // OK aussi, mais nouvelle référence

on remarque que o, qui est

Exemple :

class Animal {}
class Lion extends Animal {}
class Tigre extends Animal {}
class Ours extends Animal {}

public class Essai {
    public static void main(String args[]) {
        /* foo est de type Animal */
        Animal foo;
        /* mais sera un objet d'une de ces classes : */
        foo = new Lion();
        foo = new Tigre();
        foo = new Ours();
        
        Lion l;
        Lion l = new Animal(); /* ⚠️ erreur car incompatibilité de type */
    }
}