cours/java.md
oscar.plaisant@icloud.com a2ee0fa5ca from github to this gitea
2023-10-23 23:09:51 +02:00

1.6 KiB

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


[!query] Sous-notes de =this.file.link

TABLE title, up as "Up", up.up as "2-Up", up.up.up as "3-Up", up.up.up.up as "4-Up"
FROM -#cours AND -#exercice AND -"daily" AND -#excalidraw AND -#MOC
WHERE any(map([up, up.up, up.up.up, up.up.up.up], (x) => econtains(x, this.file.link)))
WHERE file.link != this.file.link
SORT up.up.up.up, up.up.up, up.up, up

OOP

voir : paradygme 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 */
    }
}