Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Modules de classe

5 réponses
Avatar
Archives
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de programmer
en utilisant au maximum les modules de classes pour préparer une éventuelle
migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe Perdrix
et une classe Perruche qui possèdent chacune leurs propriétés mais pas la
méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix ?

Comment déclarer qu'une classe appartient à une autre classe ?

Merci

5 réponses

Avatar
Vanerck Michaël
La méthode voler se trouve dans ta classe oiseau. Perdrix hérite de la
classe oiseau donc de la méthode voler automatiquement.
Bien à toi.

"Archives" a écrit dans le message de news:
bsu827$8t3$
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de
programmer

en utilisant au maximum les modules de classes pour préparer une
éventuelle

migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe
Perdrix

et une classe Perruche qui possèdent chacune leurs propriétés mais pas la
méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix ?

Comment déclarer qu'une classe appartient à une autre classe ?

Merci




Avatar
Archives
C'est bien ce que je souhaite faire, mais j'ignore comment dire à la classe
Perdrix qu'elle appartient à la classe Oiseau.

Quand j'ai une Perdrix, je la déclare dans la classe Perdrix, mais comment
Access sait-il qu'une Perdrix est un Oiseau ?


"Vanerck Michaël" a écrit dans le message de news:
bsub0e$4uo$
La méthode voler se trouve dans ta classe oiseau. Perdrix hérite de la
classe oiseau donc de la méthode voler automatiquement.
Bien à toi.

"Archives" a écrit dans le message de news:
bsu827$8t3$
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de
programmer

en utilisant au maximum les modules de classes pour préparer une
éventuelle

migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe
Perdrix

et une classe Perruche qui possèdent chacune leurs propriétés mais pas
la


méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix ?

Comment déclarer qu'une classe appartient à une autre classe ?

Merci








Avatar
ticegestion
Bonsoir,
Je ne connais pas la POO mais il me semble que perdrix est une occurrence de
l'objet oiseau et non une sous classe.
Il faut donc créer une instance d'objet oiseau, ce qui doit donner (syntaxe
à vérifier) dans un module ordinaire :
Dim Perdrix As Object
Set Perdrix=New Oiseau
(je répéte, syntaxe à vérifier)
Ensuite, on peut appliquer les méthodes et définir les propriétés de Perdrix
ex :
Perdrix.Voler
Fred



"Archives" a écrit dans le message de
news:bsue3h$4a9$
C'est bien ce que je souhaite faire, mais j'ignore comment dire à la
classe

Perdrix qu'elle appartient à la classe Oiseau.

Quand j'ai une Perdrix, je la déclare dans la classe Perdrix, mais comment
Access sait-il qu'une Perdrix est un Oiseau ?


"Vanerck Michaël" a écrit dans le message de news:
bsub0e$4uo$
La méthode voler se trouve dans ta classe oiseau. Perdrix hérite de la
classe oiseau donc de la méthode voler automatiquement.
Bien à toi.

"Archives" a écrit dans le message de news:
bsu827$8t3$
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de
programmer

en utilisant au maximum les modules de classes pour préparer une
éventuelle

migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe
Perdrix

et une classe Perruche qui possèdent chacune leurs propriétés mais pas
la


méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix
?




Comment déclarer qu'une classe appartient à une autre classe ?

Merci












Avatar
Archives
Tout d'abord, bonne année à tous...

J'ai un début de solution à proposer:
Dans le module de classe Perdrix, on déclare une instance de la classe
Oiseau

Public Oiseau as New Oiseau
' New est obligatoire pour ne pas obtenir d'erreur ultérieure

Dans ce même module de classe Perdrix, on renseigne les propriétés de
l'oiseau.

Ensuite, pour appeler les méthodes ou propriétés de l'oiseau à travers
l'objet Perdrix, on peut écrire dans les modules standards:

Dim Josette as New Perdrix
Josette.Oiseau.Voler

Certes, ce n'est pas très élégant mais celà fonctionne. Il demeure tout de
même un problème lorsque l'on utilise un Oiseau générique, par exemple Dim
Josette as New Oiseau (on ne sait pas précisemment de quel oiseau il
s'agit). Dans ce cas la syntaxe devient Josette.Voler et non plus
Josette.Oiseau.Voler


Quelqu'un a t-il une autre solution ?

"Vanerck Michaël" a écrit dans le message de news:
bsub0e$4uo$
La méthode voler se trouve dans ta classe oiseau. Perdrix hérite de la
classe oiseau donc de la méthode voler automatiquement.
Bien à toi.

"Archives" a écrit dans le message de news:
bsu827$8t3$
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de
programmer

en utilisant au maximum les modules de classes pour préparer une
éventuelle

migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe
Perdrix

et une classe Perruche qui possèdent chacune leurs propriétés mais pas
la


méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix ?

Comment déclarer qu'une classe appartient à une autre classe ?

Merci








Avatar
Maxence HUBICHE
Ben, je dirai qu'il faudrait que la classe Oiseau soit une 'matrice' à
fonctions.

Par Exemple, la classe Oiseau serait définie comme telle :

Option Explicit
Public Sub Voler
End Sub

Puis, la Classe Perdrix pourrait implémenter la classe Oiseau.
On aurait ainsi, dan sla classe Perdrix :

Option Explicit
'Déclare la nécessité d'implémenter la classe oiseau
Implements Oiseau
'Rappel des éléments de Oiseau
Private Sub Oiseau_Voler()
MsgBox "Fly"
End Sub
'Déclaration des méthodes de perdrix
Sub Voler()
Oiseau_Voler
End Sub


Bon, j'ai testé sur Excel 2003.
Ca marche.
Mais je ne suis pas sûr que cela fonctionne dans les autres versions.
--
----------------------------------------------------------------------------
-
Maxence HUBICHE
Formateur et développeur indépendant
Modérateur/rédacteur sur http://www.developpez.com

"Archives" a écrit dans le message de news:
bt105u$8dc$
Tout d'abord, bonne année à tous...

J'ai un début de solution à proposer:
Dans le module de classe Perdrix, on déclare une instance de la classe
Oiseau

Public Oiseau as New Oiseau
' New est obligatoire pour ne pas obtenir d'erreur ultérieure

Dans ce même module de classe Perdrix, on renseigne les propriétés de
l'oiseau.

Ensuite, pour appeler les méthodes ou propriétés de l'oiseau à travers
l'objet Perdrix, on peut écrire dans les modules standards:

Dim Josette as New Perdrix
Josette.Oiseau.Voler

Certes, ce n'est pas très élégant mais celà fonctionne. Il demeure tout de
même un problème lorsque l'on utilise un Oiseau générique, par exemple Dim
Josette as New Oiseau (on ne sait pas précisemment de quel oiseau il
s'agit). Dans ce cas la syntaxe devient Josette.Voler et non plus
Josette.Oiseau.Voler


Quelqu'un a t-il une autre solution ?

"Vanerck Michaël" a écrit dans le message de news:
bsub0e$4uo$
La méthode voler se trouve dans ta classe oiseau. Perdrix hérite de la
classe oiseau donc de la méthode voler automatiquement.
Bien à toi.

"Archives" a écrit dans le message de news:
bsu827$8t3$
Bonjour

Grace aux conseils avisés de Michel Walsh, j'essaie maintenant de
programmer

en utilisant au maximum les modules de classes pour préparer une
éventuelle

migration vers Java.

J'ai une classe Oiseau qui possède la méthode Voler. J'ai une classe
Perdrix

et une classe Perruche qui possèdent chacune leurs propriétés mais pas
la


méthode Voler. La sous classe Perdrix appartenant à la classe Oiseau,
comment puis-je appliquer la méthode Voler à un objet de type Perdrix
?




Comment déclarer qu'une classe appartient à une autre classe ?

Merci