• [^] # Re: Typage

    Posté par (site web personnel) . En réponse au message débutant java : opérations de base sur les listes. Évalué à 3.

    Si le contexte est connu et n'est pas exposé par l'API, alors tu peux faire

    final Class AouB {
    private Type typ;
    private final Optional<A> a;
    private final Optional<B> B;
    private print() {
    switch (typ):
    case Type.A: a.print(); break;
    case Type.B: b.print(); break;
    }
    }

    Et utiliser des sous classes ou une factory pour créer des objets de type AouB, mais ça n'est pas extensible par un utilisateur.

    Au final, le truc, c'est qu'en Python, tu peux mettre n'importe quoi dans ta liste, et au final, tu peux avoir des erreurs de type à l'execution. En Java, il faut faire exprès pour se donner se problème, et c'est probablement une bonne idée de ne pas programmer ainsi. Tant pis si Python est plus facile et court à écrire.