Salut zakidz,
Tu trouveras difficilement une réponse complete sur un forum mon vieux car cette question est trop complexe... Elle fait appelle à plein de notion qui ne peuvent être décrites rapidement. Mais bon, voici tout de même quelques éléments qui pourraient te mettre sur la bonne voie :
Struture composée
En C, en Pascal ou même en Cobol, il existe des variables qui sont "complexes" ou "composées", c'est à dire qu'y sont construire à l'aide de plusieurs variables.
Exemple : Une structure NomPersonne pourrait très bien être composée d'une première sous-variable nom et d'une seconde sous-variable prenom. En schématisant tout cela nous obtenons ceci :
Struture NomPersonne
- string nom
- string prenom
Avec cette structure, tu peux créer des variables NomPersonne à volonter et renseigner leurs sous-variables pendant l'exécution d'un programme.
Exemple de pseudo-code :
// Déclaration d'une variable et allocation de mémoire grace à l'instuction new
NomPersonne maVarNomPers = new NomPersonne
// On renseigne la structure
maVarNomPers.nom <-- Chaumel
maVarNomPers.prenom <-- Jocelyn
// Et on l'utilise ensuite...
Print ( "Bonjour M. " + maVarNomPers.prenom + " " + maVarNomPers.nom)
Passage d'une struture à une classe
En POO, la description d'une structure se nomme une
classe.
Instancier une classe c'est simplement le fait de créer une variable se basant sur la description d'une classe (ou d'une structure). Ainsi, en POO, une classe c'est en fin de compte qu'une description d'une structure.
Mais ce n'est pas tout, en plus de décrire une composition de variables, une classe permet d'associer du code ou des fonctions à sa structure. En POO, nous appelons les fonctions rattachées à une classe des
méthodes de classe.
Voici un exemple de définition d'une méthode à l'intérieur de la classe :
classe NomPersonne
- variable string nom
- variable string prenom
= Fonction getPrenomNom ()
{
retourne prenom + " " + nom
}
Ainsi, nous pourrions avoir le programme suivant :
// Déclaration et instanciation d'une variable se basant sur la classe NomPersonne
NomPersonne monInstanceNomPers = new NomPersonne
// Manipulation de la variable de classe
monInstanceNomPers.nom <-- Chaumel
monInstanceNomPers.prenom <-- Jocelyn
// Exécution de la méthode de classe
Print ( "Bonjour M. " + monInstanceNomPers.getPrenomNom() )
Nous appelons les variables de type classe des instances de classe ou, plus simplement, des objets. Ensuite, tu peux très bien réutiliser ta classe dans une autre un peu comme ceci :
classe Contacte
- variable NomPersonne personne
- variable string telephoneFixe
- varieble string telephonePortable
- Fonction getTelephone()
{
si telephonePortable n'est pas nul
retourne telephonePortable
sinon
retourne telephoneFixe
}
Conclusion
Donc voilà, selon moi, la base de la base de la POO... Par contre, il y a bien d'autres notions comme l'héritage, la visibilité des variables de classe et bien plus encore que je n'ai pas expliquées ici... Je te laisse mijoter tout cela et t'invite à relire tes articles avec ces nouvelles notions en tête...
Bonne chance
Joss