6 réponses
salut,
Jette deja un coup d'oeil ici :
http://www.commentcamarche.net/poo/poointro.php3
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Jette deja un coup d'oeil ici :
http://www.commentcamarche.net/poo/poointro.php3
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
On peut dire que class et objet c'est la même chose.
une classe est constituée d'attributs et de méthodes.
On pourrait faire un comparatif avec des objets courant:
Imaginons qu'un véhicule à roue soit une class:
Il a des attributs il a un moteur
et il a des méthodes, il peut se déplacer avec une règle particulière.
La je vais te faire rentrer la notion d'héritage:
Imaginons une voiture:
C’est un véhicule donc elle "hérite" des propriété du véhicule ainsi que de ses méthodes.
les attributs supplémentaire seront 4 roue 1 volant etc tout ce qui caractérise une voiture.
il a ses propres méthodes: on peut ouvrir les portes , le coffre etc.
Mais il a hérité de la méthode se déplacer mais qui lui est propre en effet la voiture peut se déplacer mais seulement au sol contrairement a un avion ou un sous marin (qui sont aussi des sous class de véhicule) donc on modifie la méthode se déplacer pour la voiture et cela s'appel la surcharge d'opérateur.
Bon j ne vais pas dev plus mais en gros c'est l'image qu’il faut avoir en tête pour comprendre l'objet.
COIN!
une classe est constituée d'attributs et de méthodes.
On pourrait faire un comparatif avec des objets courant:
Imaginons qu'un véhicule à roue soit une class:
Il a des attributs il a un moteur
et il a des méthodes, il peut se déplacer avec une règle particulière.
La je vais te faire rentrer la notion d'héritage:
Imaginons une voiture:
C’est un véhicule donc elle "hérite" des propriété du véhicule ainsi que de ses méthodes.
les attributs supplémentaire seront 4 roue 1 volant etc tout ce qui caractérise une voiture.
il a ses propres méthodes: on peut ouvrir les portes , le coffre etc.
Mais il a hérité de la méthode se déplacer mais qui lui est propre en effet la voiture peut se déplacer mais seulement au sol contrairement a un avion ou un sous marin (qui sont aussi des sous class de véhicule) donc on modifie la méthode se déplacer pour la voiture et cela s'appel la surcharge d'opérateur.
Bon j ne vais pas dev plus mais en gros c'est l'image qu’il faut avoir en tête pour comprendre l'objet.
COIN!
Ouais, rapide survol.
Mais class != objet
Class = définition abstraite d'un objet et de son comportement.
Objet = instanciation d'une classe.
Juste pour préciser :-)
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Mais class != objet
Class = définition abstraite d'un objet et de son comportement.
Objet = instanciation d'une classe.
Juste pour préciser :-)
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne développe pas en C++ mais en Java, mais la notion de classe est la même.
Tu peux considérer une classe comme étant un modèle qui va te permettre de créer des instances qu'on appelle alors un objet. On dit que: "Un objet est une instance de classe".
Dans une classe tu peux définir des attributs qui contiennent en fait l'état de l'objet à un moment donné et des méthodes (des fonctions pour faire simple) qui définissent le comportement de l'objet.
Imaginons une classe Adresse. Ses attributs pourraient être:
- rue (type String)
- numéro (type String)
- boîte (type String)
- code postal (type int)
- commune (type String)
- pays (type String)
Imaginons maintenant une classe Personne. Ses attributs pourraient être:
- nom (type String)
- prénom (type String)
- date de naissance (type date)
- sexe (type char)
- père (type Personne)
- mère(type Personne)
- adresse (type Adresse)
Comme tu le vois, le type d'un des attributs peut être une autre classe (adresse) ou la même classe (père, mère).
Les méthodes de la classe Personne pourraient être
- getLastName() qui renvoit le nom de famille
- getFirstName() qui renvoit le prénom
- setFather( Personne father)
- setMother(Personne mother)
- getFather() qui renvoit le père
- getMother() qui renvoit la mère
- setBirthDate(Date birthDate): qui attribue une date de naissance à la personne
- calculeAge: qui retourne l'âge de la personne
- getFather: qui renvoit un Objet de type Personne (le père)
- getMother: qui renvoit un Objet de type Personne (la mère)
En Java, tu crées (on dit instancies) les objets comme suit:
Tu peux aussi étendre une classe.
Imagine que tu doives écrire une application pour gérer un club.
Le club compte des membres. Tu t'apprêtes donc à définir une classe Membre. Mais un membre est aussi une personne qui possède des attributs et des méthodes supplémentaires.
Pour ne pas réécrire à nouveau tout le code de la classe Personne dans ta classe Membre, tu peux étendre la classe Personne.
En Java, cela se fait comme suit:
Comme tu le vois ici, on a ajouté des attributs et des méthodes à la classe Personne. On appelle cela de la spécialisation.
J'espère que cela t'aura aidé.
Pour plus d'infos, va voir sur ce site:
http://www.commentcamarche.net/poo/poointro.php3
;-)
HackTrack
Tu peux considérer une classe comme étant un modèle qui va te permettre de créer des instances qu'on appelle alors un objet. On dit que: "Un objet est une instance de classe".
Dans une classe tu peux définir des attributs qui contiennent en fait l'état de l'objet à un moment donné et des méthodes (des fonctions pour faire simple) qui définissent le comportement de l'objet.
Imaginons une classe Adresse. Ses attributs pourraient être:
- rue (type String)
- numéro (type String)
- boîte (type String)
- code postal (type int)
- commune (type String)
- pays (type String)
Imaginons maintenant une classe Personne. Ses attributs pourraient être:
- nom (type String)
- prénom (type String)
- date de naissance (type date)
- sexe (type char)
- père (type Personne)
- mère(type Personne)
- adresse (type Adresse)
Comme tu le vois, le type d'un des attributs peut être une autre classe (adresse) ou la même classe (père, mère).
Les méthodes de la classe Personne pourraient être
- getLastName() qui renvoit le nom de famille
- getFirstName() qui renvoit le prénom
- setFather( Personne father)
- setMother(Personne mother)
- getFather() qui renvoit le père
- getMother() qui renvoit la mère
- setBirthDate(Date birthDate): qui attribue une date de naissance à la personne
- calculeAge: qui retourne l'âge de la personne
- getFather: qui renvoit un Objet de type Personne (le père)
- getMother: qui renvoit un Objet de type Personne (la mère)
En Java, tu crées (on dit instancies) les objets comme suit:
...
Personne father = new Personne();
father.setBirthDate(new Date("28/05/1980"));
Personne quiconque = new Personne();
quiconque.setFather(father);
quiconque.setBirthDate(new Date("15/03/2002);
int ageDuPere = quiconque.getFather().calculeAge();
Tu peux aussi étendre une classe.
Imagine que tu doives écrire une application pour gérer un club.
Le club compte des membres. Tu t'apprêtes donc à définir une classe Membre. Mais un membre est aussi une personne qui possède des attributs et des méthodes supplémentaires.
Pour ne pas réécrire à nouveau tout le code de la classe Personne dans ta classe Membre, tu peux étendre la classe Personne.
En Java, cela se fait comme suit:
public class Membre extends Personne{
private int idNumber;
private String function;
private Adresse officeAddress;
public void setIdNumber(int n){
this.idNumber = n;
}
public void setFunction(String function){
this.function = function;
}
public void setOfficeAddress(Adresse officeAdresse){
this.officeAdresse= officeAdresse;
}
public Addresse getOficeAdress(){
retrun officeAddress();
}
public String getDetail(){
String memberDetail = idNumber+":"+getLastName()+" "+getFirstName()+" " +getOfficeAddress().commune;
return memberDetail;
}
}
Comme tu le vois ici, on a ajouté des attributs et des méthodes à la classe Personne. On appelle cela de la spécialisation.
J'espère que cela t'aura aidé.
Pour plus d'infos, va voir sur ce site:
http://www.commentcamarche.net/poo/poointro.php3
;-)
HackTrack