Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1452 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  [ Les Classes et la POO ] quelqu un dans la salle ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ Les Classes et la POO ] quelqu un dans la salle ?

n°269645
j-'-r
Sans horraires fixe
Posté le 14-12-2002 à 15:37:14  profilanswer
 

qq1 saurrait m expliquer rapidement ce que sont les classes,
la logique de la POO
 
( c est pour ma culture perso :) )
 
MERCI


---------------
Perdu ? Vous êtes ici : --> *
mood
Publicité
Posté le 14-12-2002 à 15:37:14  profilanswer
 

n°269647
youdontcar​e
Posté le 14-12-2002 à 15:40:16  profilanswer
 

J-'-R a écrit :

qq1 saurrait m expliquer rapidement ce que sont les classes,
la logique de la POO ( c est pour ma culture perso :) )

'culture' et 'rapide' sont deux beaux antonymes ...  
 
ça a déjà été abordé, il y a des liens sur le forum, et puis ... google.

n°269648
j-'-r
Sans horraires fixe
Posté le 14-12-2002 à 15:41:57  profilanswer
 

de ce que j ai compris on definit des "objets"
qui on chaqu un des fonctions et proprietes
et d un objet on fait appel a un autre etc.
 
non ?


---------------
Perdu ? Vous êtes ici : --> *
n°269649
youdontcar​e
Posté le 14-12-2002 à 15:46:49  profilanswer
 

en gros, oui. mais ça t'avance à quoi de t'intéresser à ça si tu ne fais pas au moins un tutorial ? regarde par ex comment ça marche en php http://www.php.net/manual/fr/language.oop.php

n°269650
Ace17
Posté le 14-12-2002 à 15:47:22  profilanswer
 

Ouais, en gros c'est ca...
Mais c'est vraiment tres tres tres simplifié

n°269651
lorill
Posté le 14-12-2002 à 15:49:56  profilanswer
 

sauf qu'on peut très bien faire de la POO sans classes ;)

n°269654
Cherrytree
cn=?
Posté le 14-12-2002 à 16:21:43  profilanswer
 

Une classe, c'est un peu comme une structure, c'est à dire un enregistrement de données avec en plus des fonctions spécifiques aux objets de cette classe.
 
classe > objet
type > variable
 
Une classe peut servir à décrire des objets. Par exemple en pseudo-code :

Professeur {
  int age;
  int salaire;
  String nom;
  String discipline;
}


La classe Professeur permet de décrire des professeurs :

Professeur foldingue;


foldingue est un objet de la classe professeur.
Ensuite on peut décrire des fonctions spécifiques à cette classe d'objets. Par exemple une fonctions qui attribue une note à chaque élève (Eleve).

Eleve {
  int age;
  String nom;
  File compte_rendu;
}
 
Professeur::note(Eleve e) {
  open(e.compte_rendu);
  ...
}


 
Ensuite tu as d'autres concepts : encapsulation, polymorphisme...

n°269655
lorill
Posté le 14-12-2002 à 16:24:03  profilanswer
 

Cherrytree a écrit :


classe > objet
type > variable


tu veux dire quoi par la ?

n°269657
Cherrytree
cn=?
Posté le 14-12-2002 à 16:27:23  profilanswer
 

lorill a écrit :


tu veux dire quoi par la ?

Quand je veux expliquer à qqn ce que c'est qu'une classe, je ne trouve rien de mieux à dire que c'est un type évolué pour créer des variables évoluées. C'est vrai que c'est pas très clair.

n°269658
lorill
Posté le 14-12-2002 à 16:29:13  profilanswer
 

Cherrytree a écrit :

Quand je veux expliquer à qqn ce que c'est qu'une classe, je ne trouve rien de mieux à dire que c'est un type évolué pour créer des variables évoluées. C'est vrai que c'est pas très clair.


non, en fait c'est par rapport a la symbolique que tu as utilisé, je n'ai réellement pas compris ce que tu voulais dire.
En gros tu dis qu'on utilise des types pour créer des variables et des classes pour créer des objets, c'est ca ?

mood
Publicité
Posté le 14-12-2002 à 16:29:13  profilanswer
 

n°269659
Cherrytree
cn=?
Posté le 14-12-2002 à 16:30:06  profilanswer
 

lorill a écrit :


non, en fait c'est par rapport a la symbolique que tu as utilisé, je n'ai réellement pas compris ce que tu voulais dire.
En gros tu dis qu'on utilise des types pour créer des variables et des classes pour créer des objets, c'est ca ?

Oui.

n°269660
lorill
Posté le 14-12-2002 à 16:32:20  profilanswer
 

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.

n°269663
nraynaud
lol
Posté le 14-12-2002 à 16:34:55  profilanswer
 

J-'-R a écrit :

qq1 saurrait m expliquer rapidement ce que sont les classes,
la logique de la POO
 
( c est pour ma culture perso :) )
 
MERCI


 
une petite explication pour une question sammalltalk :  
http://forum.hardware.fr/forum2.ph [...] subcat=388
 
et un truc pour aller plus loin : http://nraynaud.com.free.fr/types.html

n°269665
Cherrytree
cn=?
Posté le 14-12-2002 à 16:42:32  profilanswer
 

lorill a écrit :

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.

Euh... Peut-être.

n°269666
HappyHarry
Posté le 14-12-2002 à 16:44:38  profilanswer
 

lorill a écrit :

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.


 
+1

n°269669
nraynaud
lol
Posté le 14-12-2002 à 16:51:59  profilanswer
 

lorill a écrit :

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.


 
[+++] et on peut d'ailleur pas mal jouer sur la différence entre le type de la poignée et le type de l'objet qui est derrière ... à condition d'avoir une liaison retardée des méthodes ...

n°269852
Cherrytree
cn=?
Posté le 15-12-2002 à 00:24:14  profilanswer
 

nraynaud a écrit :


 
[+++] et on peut d'ailleur pas mal jouer sur la différence entre le type de la poignée et le type de l'objet qui est derrière ... à condition d'avoir une liaison retardée des méthodes ...

J'ai rien compris.

n°269856
Cherrytree
cn=?
Posté le 15-12-2002 à 00:28:17  profilanswer
 

lorill a écrit :

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.

Si j'écris :

int i = 0;


je me dis implicitement que je crée une variable nommée i, de type int.
De même si j'écris :

String s = new String("Hello" );


je me dis que je crée un objet nommé s, appartenant à la classe String.
 
Ai-je tort ?

n°269866
HappyHarry
Posté le 15-12-2002 à 00:48:43  profilanswer
 

Cherrytree a écrit :

Si j'écris :

int i = 0;


je me dis implicitement que je crée une variable nommée i, de type int.
De même si j'écris :

String s = new String("Hello" );


je me dis que je crée un objet nommé s, appartenant à la classe String.
 
Ai-je tort ?


 
ben t'as une variable qui s'appelle s, qui pointe vers une instance  de String


Message édité par HappyHarry le 15-12-2002 à 00:50:03
n°269869
kadreg
profil: Utilisateur
Posté le 15-12-2002 à 01:00:23  profilanswer
 


 
Et avec  
 


int toto = new int ();
String str = "";


 
Que dis tu ?
 
J'ai l'impression que tu accroche aux notions de variables et d'objets des notions C qui sont pile et tas, mais qui n'ont rien à voir. Je vote plutot de la définition qu'a donné lorill tout à l'heure. Un objet est une instance en mémoire, la variable est un moyen de le manipuler.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°269873
nraynaud
lol
Posté le 15-12-2002 à 01:21:48  profilanswer
 

Cherrytree a écrit :

J'ai rien compris.


 
A est une classe, B une de ses filles
 
soit va une variable de type A.
soit vb une variable de type B non nulle.
D'après le principe de hiérachie des types, va = vb est une affectation valide.
 
va est donc une poignée de type A pour un objet de type réel B.
 
et ça va bien plus loin, la différence entre le type d'une variable et le type réel de l'objet qui est derrière peut être énorme.

n°269895
Musaran
Cerveaulté
Posté le 15-12-2002 à 04:13:13  profilanswer
 

lorill a écrit :

Ah ben je suis pas du tout d'accord.  
 
Pour moi variable et objet n'ont rien a voir. Une variable, c'est juste une "poignée" qu'on attache a un objet (créé par un type de base ou par une classe, ou autre) pour pouvoir le manipuler.


Dans quel langage ?
 
En C++ j'ai vraiment pas appris comme ça.
instance: exemplaire d'un certain type.
variable: instance de type intégré.
objet: instance de classe (type utilisateur élaboré).
Nuance subtile, on a le droit de mélanger.
 
Si je comprends bien, vous appelez 'variable' la référence (sens pur) qui désigne une instance en mémoire.
Là où le C++ n'à que des pointeurs (explicites) et des références (quasi-indifférenciables de l'instance).
 
 
Non seulement on n'utilise pas les mêmes langages informatiques, mais on ne parle même plus la même langue !
Ça va être dur de communiquer [:iznogoud_23].
 
 
Pour la question originale, en bref et à peu près:
classe:
Type élaboré, pouvant être composé d'autres types, et regroupant les fonctions qui lui sont spécifiques (méthodes).
Plutôt que d'avoir des fonctions auquelles ont passe des variables "fonc(var)", on a des objets dont on apelle des les méthodes "var.fonc()".
 
objet: exemplaire de classe.
 
POO: Le programme consiste en associations d'objets plutôt que séquence d'instructions.
 
héritage: Les classes sont organisées en linées, et disposent automatiquement des caractéristiques de leur ancêtres/parents.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°269920
kadreg
profil: Utilisateur
Posté le 15-12-2002 à 11:48:40  profilanswer
 

Musaran a écrit :


Dans quel langage ?


 
Indépendamment de n'importe quel langage. Si tu commance à t'accrocher à un langage, tu vas tomber dans les particularité de chacun (notamment le C++, qui est quand même spécial) et tenter de généraliser un concept C++ alorsque ce concept est en fait une résurgence du C, et n'a pas grand intêret face à la POO.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°269944
Cherrytree
cn=?
Posté le 15-12-2002 à 12:20:38  profilanswer
 

kadreg a écrit :


 
Et avec  
 


int toto = new int ();
String str = "";


 
Que dis tu ?
 
J'ai l'impression que tu accroche aux notions de variables et d'objets des notions C qui sont pile et tas, mais qui n'ont rien à voir. Je vote plutot de la définition qu'a donné lorill tout à l'heure. Un objet est une instance en mémoire, la variable est un moyen de le manipuler.

OK, je m'incline.


---------------
Le site de ma maman
n°269946
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 15-12-2002 à 12:23:44  profilanswer
 

la meilleur approche c'est d'apprendre à faire des ADT et apres de les traduire dans un langage donné (on fait pas de l'objet pareil en C++ et en Scheme, pourtant c'est toujours de l'objet, basé sur le meme ADT)


---------------
du bon usage de rand [C] / [C++]
n°270026
nraynaud
lol
Posté le 15-12-2002 à 16:17:49  profilanswer
 

Musaran a écrit :


 
Là où le C++ n'à que des pointeurs (explicites) et des références (quasi-indifférenciables de l'instance).


 
va changer l'état d'un objet passé par référence et va changer celui d'un autre passé par valeur, tu vas voir si c'est pas différentiable !
 
C'est plutôt pointeur et référence qui sont pareil sauf que un pointeur c'est une variable et une référence a une sémantique proche du "let binding" de ML.

n°270156
Musaran
Cerveaulté
Posté le 16-12-2002 à 05:10:37  profilanswer
 

(quasi-indifférenciables de l'instance qu'elle désigne).
Ça te va ?
Je ne vois que le polymorphisme et typeid pour savoir qu'on a affaire à une référence C++ plutôt qu'un objet direct.
 
 
Donc... Le concept de variable manipulant une instance est indispensable pour l'aspect polymorphisme de la POO ?
Sachant que la POO n'est pas définie avec exactitude, y a-t'il d'autre approches ?
 
Pour C++, la 'variable' est manipulable comme un objet, et la distinction n'existe donc pas vraiment. Seule reste la notion de d'indirection.


Message édité par Musaran le 16-12-2002 à 05:11:09

---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°270158
nraynaud
lol
Posté le 16-12-2002 à 05:37:35  profilanswer
 

Musaran a écrit :

(quasi-indifférenciables de l'instance qu'elle désigne).
 
Pour C++, la 'variable' est manipulable comme un objet, et la distinction n'existe donc pas vraiment. Seule reste la notion de d'indirection.


 
Heu c'est surtout que tu peux prendre plusieurs fois la même référence sur le même objet et donc les modifications de l'état de l'objet sont visible par tout le monde . Ce qui ne se produit pas si tu recopie à chaque fois ton instance sur la pile.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  [ Les Classes et la POO ] quelqu un dans la salle ?

 

Sujets relatifs
[Visual C++ MFC] Faire correspondre deux classes ?[POO] problème de design
[Perl] Y a-t-il un dieu des expressions régulières dans la salle?Pb d'utilisation des classes enveloppes + algo de tri
[DEFI] Y a t-il des hackers en herde dans la salle ??classes et threads
petite question sur les classesObjets, Classes, Fonctions avec objets en paramétres, *, & :Prob.
connaissez pas des exercices résolus en vc++(relations /e classes)????Question simple sur les classes amies
Plus de sujets relatifs à : [ Les Classes et la POO ] quelqu un dans la salle ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR