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

avec Java Discussion :

heritage de classe


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut heritage de classe
    Bonjour,
    j'ai un petit problème d'heritage tout bête que je n'arrive pas à résoudre
    Voici mes 2 classes
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    public class LdapUserDetailsImpl implements LdapUserDetails {
     
            protected String dn;
     
            protected List authorities = AuthorityUtils.NO_AUTHORITIES;
     
            protected boolean accountNonExpired = true;
     
            protected boolean accountNonLocked = true;
     
            protected boolean credentialsNonExpired = true;
     
            protected boolean enabled = true;
     
            // PPolicy data
            protected int timeBeforeExpiration = Integer.MAX_VALUE;
     
            protected int graceLoginsRemaining = Integer.MAX_VALUE;
     
     
            public String getPassword() {
                return null;
            }
     
            public String getUsername() {
                return null;
            }
     
     
            public String getDn() {
                return dn;
            }
     
            public void setDn(String dn) {
                this.dn = dn;
            }
     
            public List getAuthorities() {
                return authorities;
            }
     
            public void setAuthorities(List authorities) {
                this.authorities = authorities;
            }
     
            public boolean isAccountNonExpired() {
                return accountNonExpired;
            }
     
            public void setAccountNonExpired(boolean accountNonExpired) {
                this.accountNonExpired = accountNonExpired;
            }
     
            public boolean isAccountNonLocked() {
                return accountNonLocked;
            }
     
            public void setAccountNonLocked(boolean accountNonLocked) {
                this.accountNonLocked = accountNonLocked;
            }
     
            public boolean isCredentialsNonExpired() {
                return credentialsNonExpired;
            }
     
            public void setCredentialsNonExpired(boolean credentialsNonExpired) {
                this.credentialsNonExpired = credentialsNonExpired;
            }
     
            public boolean isEnabled() {
                return enabled;
            }
     
            public void setEnabled(boolean enabled) {
                this.enabled = enabled;
            }
     
            public int getTimeBeforeExpiration() {
                return timeBeforeExpiration;
            }
     
            public void setTimeBeforeExpiration(int timeBeforeExpiration) {
                this.timeBeforeExpiration = timeBeforeExpiration;
            }
     
            public int getGraceLoginsRemaining() {
                return graceLoginsRemaining;
            }
     
            public void setGraceLoginsRemaining(int graceLoginsRemaining) {
                this.graceLoginsRemaining = graceLoginsRemaining;
            }
    }
    et

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    public class Person extends LdapUserDetailsImpl {
         protected String cn;
         protected String mail;
         protected String sn;
         protected String uid;
         protected byte[] userPassword;
     
     
         public Person() {
         }
     
     
        public void setCn(String cn) {
            this.cn = cn;
        }
     
        public void setSn(String sn) {
            this.sn = sn;
        }
     
        public void setUid(String uid) {
            this.uid = uid;
        }
     
        public void setUserPassword(byte[] userPassword) {
            this.userPassword = userPassword;
        }
     
        public byte[] getUserPassword() {
     
            return userPassword;
        }
     
        public String getUid() {
     
            return uid;
        }
     
        public String getCn() {
             return cn;
         }
         public String getSn() {
             return sn;
         }
     
         public String getEmail() {
            return mail;
        }
     
     
    	public void setMail(String mail) {
    		this.mail = mail;
     
    	}
     
    }
    dans une troisième classe j''instancie un objet Person et il ne propose pas les methode de la classe mère

    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 class PersonAttributesMapper implements AttributesMapper {
    
            public Object mapFromAttributes(Attributes attrs) throws NamingException {
                Person person = new Person();
                person.setCn((String)attrs.get("cn").get());
                person.setCn((String)attrs.get("sn").get());
                person.setUid((String)attrs.get("uid").get());
                person.setMail((String)attrs.get("mail").get());
                person.setUserPassword((byte [])attrs.get("userPassword").get());
                
    
                person.setAuthorities(....);         REFUSE
                person.setAccountNonExpired(...)    REFUSE
                
            return person;
            }
    }
    En d'autres termes, il me refuse d'utiliser les methodes de la classe mère
    Est ce que quelqu'un pourrait dire ce qui ne va pas ? Merci d'avance

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par flamant Voir le message
    En d'autres termes, il me refuse d'utiliser les methodes de la classe mère
    Est ce que quelqu'un pourrait dire ce qui ne va pas ? Merci d'avance
    Le compilateur fournit un message d'erreur pour trouver l'origine du problème...


    a++

  3. #3
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    en l'occurence, je pencherais pour le faire que tu ne passe pas une List à la méthode en question

    ou

    tu a modifié la classe mère pour inclure les nouvelles méthodes, mais tu continue à utiliser, d'une manière ou d'une autre, l'ancienne classe mère dans le code que tu essaie de compilé (exemple: jar de la librairie concernée pas à jour)

    ou

    l'erreur est sur la ligne au dessus

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Salut,
    et merci pour vos réponse. J'ai trouvé le bug : j'importais une autre classe "LdapUserDetailsImpl" au niveau de la classe Person et les méthodes recherchées n'existaient pas .
    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Heritage de classes] - acceder à une fonction
    Par buzzkaido dans le forum C++
    Réponses: 19
    Dernier message: 02/03/2007, 16h00
  2. Heritage de classes vcl
    Par Revan777 dans le forum C++Builder
    Réponses: 5
    Dernier message: 01/02/2007, 09h57
  3. Réponses: 6
    Dernier message: 28/12/2006, 18h22
  4. Heritage de classe avec classes internes
    Par Regis.C dans le forum Langage
    Réponses: 11
    Dernier message: 27/04/2005, 12h19
  5. [FLASH MX2004] Heritage de classe
    Par bolo dans le forum Flash
    Réponses: 9
    Dernier message: 05/12/2004, 13h08

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