IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Acces getter/setter étrange


Sujet :

ActionScript 3

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut Acces getter/setter étrange
    Bonjour,

    La conception d'une bibliothèque de classes suivant le pattern "Factory" m'impose de séparer les interfaces à considérer comme étant "en lecture seule" et celles ayant également un accès en écriture. J'obtiens donc pour chaque classe le schéma suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    public interface IReadOnly {
        function get value (): Number;
    }
     
    public interface IReadWrite extends IReadOnly {
        function set value (v:Number): void;
    }
     
    internal class ReadWrite implements IReadWrite {
        public function get value (): Number {
            return m_value;
        }
        public function set value (v:Number): void {
            m_value = v;
        }
        protected var m_value:Number;
    }
    Le problème est le suivant: je ne peux pas accéder au "getter" une fois la classe instanciée. Le compilateur de flex refuse simplement de compiler le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function doSomething (rw:IReadWrite): void {
        var num:Number = rw.value;
    }
    Flex me dit: "1178: Tentative d'accès à la propriété inaccessible value, via la référence de type static IReadWrite."

    Lorsque dans IReadWrite je remplace le setter par une simple fonction du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function setValue (v:Number): void
    le compilateur ne bronche plus...

    Quelqu'un a t il déjà rencontré ce cas de figure ? Est ce un bug du compilateur ? Existe t il des paramètres pour le compilateur permettant de résoudre ce problème ?

    Merci d'avance pour votre attention.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Une petite erreur s'etait glissé dans mon exemple, Il manquait un "I" devant "ReadOnly" dans la declaration de l'interface "IReadWrite"... Je viens de corriger ca.
    Milles excuses.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Bonjour,

    le message a été marqué "résolu", il n'en est rien. L'erreur que j'ai corrigée était dans l'énoncé, ça ne change rien au problème, toujours présent.

Discussions similaires

  1. [VB.NET] Génération automatique Property (getter / setter)
    Par Husqvarna dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/07/2020, 11h55
  2. [POO] Pourquoi recourir aux Getters/Setters ?
    Par Wormus dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 18/01/2008, 18h38
  3. [NetBeans] generation automatique getters/setters
    Par kenito dans le forum NetBeans
    Réponses: 1
    Dernier message: 12/05/2006, 14h37
  4. [Info]générer automatiquement les getters / setters
    Par lr dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 01/02/2005, 10h14
  5. configuration getter & setter
    Par otb82 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 15/10/2003, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo