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

 


Sujet auquel vous répondez
Sujet : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde
skeye

uriel a écrit :

je me gele les couilles en salle serveur [:dawa]


chez vous aussi ya presque autant de clims que de serveurs? [:dawa]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Jubijub

nraynaud a écrit :

si les types statiques t'emmerdent tu peux faire du smalltalk si tu veux. l'erreur s'appelle MessageNotFoundException.


 
hum, on va déjà essayer avec le java...:D ...
 
mais donc ca existe dans certains langages, mais pas en java...

chrisbk

Harkonnen a écrit :

si j'ai bien compris le bin's, ça veut dire qu'une interface qui dérive de rien déclare automatiquement toutes les méthodes publiques de la classe Object avec meme nom, valeur de retour, etc... que celles de Object, sauf si le programmeur déclare lui même une méthode avec le même nom ?
seulement, y'a un truc que j'aimerais savoir : une interface n'implémente aucune méthode. donc, si j'écris ma propre interface, elle va automatiquement récupérer les signatures de Object, mais par quel mécanisme va t'elle récupérer le code de ces méthodes (puisque par définition, une interface ne contient aucun code) ?


 
Comme pour n'importe quelle autre méthode d'interface...

nraynaud

Jubijub a écrit :

question : pourquoi ca ne fait ca que pour Object, et pas pour ses sous classes ?
 
ils pourraient faire ça, avec une erreur au runtime un peu comme qd t'essaye de caster un objet en une classe qu'il n'est pas...

si les types statiques t'emmerdent tu peux faire du smalltalk si tu veux. l'erreur s'appelle MessageNotFoundException.

skeye

uriel a écrit :

je me gele les couilles en salle serveur [:dawa]


chez vous aussi ya presque autant de clims que de serveurs? [:dawa]

Harkonnen

nraynaud a écrit :

Bon j'ai ça :

Citation :

(The members of an interface are:) If an interface has no direct superinterfaces, then the interface implicitly declares a public abstract member method m with signature s, return type r, and throws clause t corresponding to each public instance method m with signature s, return type r, and throws clause t declared in Object, unless a method with the same signature, same return type, and a compatible throws clause is explicitly declared by the interface.


http://java.sun.com/docs/books/jls [...] tml#238680
9.2 Interface Members
 
C'est obscur, mais je crois que c'est ce qu'on cherche.


si j'ai bien compris le bin's, ça veut dire qu'une interface qui dérive de rien déclare automatiquement toutes les méthodes publiques de la classe Object avec meme nom, valeur de retour, etc... que celles de Object, sauf si le programmeur déclare lui même une méthode avec le même nom ?
seulement, y'a un truc que j'aimerais savoir : une interface n'implémente aucune méthode. donc, si j'écris ma propre interface, elle va automatiquement récupérer les signatures de Object, mais par quel mécanisme va t'elle récupérer le code de ces méthodes (puisque par définition, une interface ne contient aucun code) ?

Jubijub question : pourquoi ca ne fait ca que pour Object, et pas pour ses sous classes ?
 
ils pourraient faire ça, avec une erreur au runtime un peu comme qd t'essaye de caster un objet en une classe qu'il n'est pas...
nraynaud

chrisbk a écrit :

Effectivement. Ca fait un peu feinte de l'ours sur les coins, mais bon, je sens que je vais repompé cette fine methode [:itm]

ouais, ça me parraît quand même respecter la règle de la surprise minimum. Le mec qui a une référence sait qu'il a soit null soit un objet au bout.

uriel je me gele les couilles en salle serveur [:dawa]
the real moins moins

chrisbk a écrit :

Bon, parlons voca parce que je m'y perds
 
quand je fais array.length, .length par rapport a l'array c'est quoi ?
quand je fais truc.Class, .Class c'est quoi ?


- un attribut public de l'objet array
- ça n'existe pas, c'est .class et c'est un attribut statique de Object

Jubijub bien joué...
chrisbk

nraynaud a écrit :

Bon j'ai ça :

Citation :

If an interface has no direct superinterfaces, then the interface implicitly declares a public abstract member method m with signature s, return type r, and throws clause t corresponding to each public instance method m with signature s, return type r, and throws clause t declared in Object, unless a method with the same signature, same return type, and a compatible throws clause is explicitly declared by the interface.


http://java.sun.com/docs/books/jls [...] tml#238680
9.2 Interface Members
 
C'est obscur, mais je crois que c'est ce qu'on cherche.


 
Effectivement. Ca fait un peu feinte de l'ours sur les coins, mais bon, je sens que je vais repompé cette fine methode [:itm]

drasche le cahier de tests du client est arrivé \o/
 
 
 
rien n'est juste dans mes calculs /o\ (enfin si, mais le moins important)
 
bon, rentrage maison discrètement.
 
[:neowen]
nraynaud Bon j'ai ça :

Citation :

(The members of an interface are:) If an interface has no direct superinterfaces, then the interface implicitly declares a public abstract member method m with signature s, return type r, and throws clause t corresponding to each public instance method m with signature s, return type r, and throws clause t declared in Object, unless a method with the same signature, same return type, and a compatible throws clause is explicitly declared by the interface.


http://java.sun.com/docs/books/jls [...] tml#238680
9.2 Interface Members
 
C'est obscur, mais je crois que c'est ce qu'on cherche.

Jubijub non g compris au dernier moment ma connerie : g pas vu que tu parlais d'une méthode de l'objet, et pas d'une méthode de l'interface...
chrisbk tu veux bien laisser les adultes parler ? [:itm]
 
Jubi => ptite bite [:nul] :o (le message s'adressait a jubi hein ? :o)
nraynaud

chrisbk a écrit :

.Class c'est quoi ?

une erreur de compil /o\
 
un champ de l'objet.

nraynaud

the real moins moins a écrit :

spapour dire mais nraynaud il a répondu à coté là non ? [:itm]

oué bah nraynaud il a une connection pourrie et il avait pas vu la reformulation. et nraynaud il est dans le JLS parce qu'il a une idée très précise de la réponse, ce qui ne semble pas le cas de tout le monde [:itm]

chrisbk

the real moins moins a écrit :

spapour dire mais nraynaud il a répondu à coté là non ? [:itm]


 
Bon, parlons voca parce que je m'y perds
 
quand je fais array.length, .length par rapport a l'array c'est quoi ?
quand je fais truc.Class, .Class c'est quoi ?
 

chrisbk

nraynaud a écrit :

bah tu peux faire un .class sur une interface ou un getClass() sur un objet, biensûr, la classe Class dérive d'object, donc tu peux faire Interf.class.getClass() (qui doit être instanceof Class)


 
Oÿe  
mäyrde
bön

R3g

nraynaud a écrit :

bah tu peux faire un .class sur une interface ou un getClass() sur un objet, biensûr, la classe Class dérive d'object, donc tu peux faire Interf.class.getClass() (qui doit être instanceof Class)

je crois que c'est pas ça la question. Je repasse demain pour avoir une vraie réponse ;)

the real moins moins spapour dire mais nraynaud il a répondu à coté là non ? [:itm]
masklinn

R3g a écrit :

Ton truc ca revient à dire qu'il y a un salaire maximum et que tout ce qui dépasse va direct à l'état quoi...


c'est exactement le principe, mais avec une imposition croissante avant ca :)

the real moins moins ha ben quand on parle du loup
chrisbk

R3g a écrit :


En fait c'est ce que j'essayais de dire plus tôt ; tous les objets sont forcement des Object, donc je suppose que quand tu appelles une méthode d'Object sur une interface, le compilo fait un genre de cast implicite pour toi...


 
ben j'aimerais bien savoir comment il reussi son cou alors [:totoz]  

the real moins moins nraynaudlabibleambulantedelajls doit savoir ça
nraynaud

chrisbk a écrit :

Comment ca s'fait qu'en java on puisse faire un getClass() sur une interface ? c'est pas une fonction de Object ?

bah tu peux faire un .class sur une interface ou un getClass() sur un objet, biensûr, la classe Class dérive d'object, donc tu peux faire Interf.class.getClass() (qui doit être instanceof Class)

R3g parce que

Code :
  1. public interface pouet { }
  2. public class machin implements pouet {}
  3. pouet toto = new machin();
  4. toto.getClass();


Ca fait pas pareil ?
 
edit : je répobndais à Jubi pour l'histoire du cast.
 
En fait c'est ce que j'essayais de dire plus tôt ; tous les objets sont forcement des Object, donc je suppose que quand tu appelles une méthode d'Object sur une interface, le compilo fait un genre de cast implicite pour toi...

chrisbk

Jubijub a écrit :

si : tu cast un objet en interface, interface n'a pas de méthode getClass() donc tu te demandes comment ca se fait que le résultat du cast aie toujours cette méthode...
 
moi ca me semble logique : un objet qui implémente une interface reste un objet...et encore heureux, c tt l'interet des interfaces...


 
crefieu
bon, exemple
 

Code :
  1. interface uneInterface
  2. {
  3. }
  4. class youpi implements uneInterface
  5. {
  6. void jesuiscontent()
  7. {
  8. ..
  9. }
  10. }
  11. uneInterfaceleon leon = (uneInterface) new youpi();
  12. leon.getClass(); // OK
  13. leon.jesuiscontent(); // pas ok :itm:


 
ca va la ? :o

Jubijub

Chrisbk a dit a écrit :

 des trucs



si : tu cast un objet en interface, interface n'a pas de méthode getClass() donc tu te demandes comment ca se fait que le résultat du cast aie toujours cette méthode...
 
moi ca me semble logique : un objet qui implémente une interface reste un objet...et encore heureux, c tt l'interet des interfaces...

R3g

Jubijub a écrit :

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
c le fait que machin soit un objet qui lui donne ca...
 
si tu faisais prout pr = new prout(), je pense que ca marcherait pas (mais je me goure peut etre)...

ben y'a interet parce que instancier une interface...

the real moins moins

Jubijub a écrit :

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
c le fait que machin soit un objet qui lui donne ca...
 
si tu faisais prout pr = new prout(), je pense que ca marcherait pas (mais je me goure peut etre)...

ha ouais, t'instancies carrément des interfaces toi... trop fort[:canaille]

chrisbk

Jubijub a écrit :

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
c le fait que machin soit un objet qui lui donne ca...
 
si tu faisais prout pr = new prout(), je pense que ca marcherait pas (mais je me goure peut etre)...


 
toi, t'as pas compris mon probleme je crois :o

the real moins moins

R3g a écrit :

Ah donc c'est bien ce que j'essayais de dire plus haut ?

euh ouais mais en fait la question de chris est plus profonde [:canaille]

Jubijub !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
c le fait que machin soit un objet qui lui donne ca...
 
si tu faisais prout pr = new prout(), je pense que ca marcherait pas (mais je me goure peut etre)...
the real moins moins


ha ouais [:canaille]

R3g

the real moins moins a écrit :

ton getClass tu le fais sur une instance d'un Object, quelle que soit l'interface/class a traver lequel tu manipules cet objet.
(ça va là?)

Ah donc c'est bien ce que j'essayais de dire plus haut ?

chrisbk

the real moins moins a écrit :

ton getClass tu le fais sur une instance d'un Object, quelle que soit l'interface/class a traver lequel tu manipules cet objet.
(ça va là?)


 
 

Code :
  1. interface prout
  2. {
  3. }
  4. class machin implements prout
  5. {
  6. ..
  7. }
  8. ..
  9. machin mach = new machin();
  10. prout pr = (prout) mach;
  11. pr.getClass();


 
elle est ou la definition/declaration de getClass() dans l'interface "prout" ?

Jubijub

chrisbk a écrit :

la meme en francais ? Objet est une classe, deja, pas une interface :o


 
hum...
 
prenons un objet o qui implémente l'interface Observable par exemple...
 
o est de type object, mais c aussi une interface, tu peux l'appeller comme ca
 
Observable obs = o;
 
si tu fais un getClass() sur obs, c normal que ca te retourne qqc...
 
[:benou_grilled] par moins moins

the real moins moins

chrisbk a écrit :

la meme en francais ? Objet est une classe, deja, pas une interface :o

ton getClass tu le fais sur une instance d'un Object, quelle que soit l'interface/class a traver lequel tu manipules cet objet.
(ça va là?)

Jubijub


http://www.omg.org/images/homepage/omg-home.gif

chrisbk

Jubijub a écrit :

si c un objet qui implémente l'interface et que tu le référence uniquement avec son interface, c logique que le getclass fonctionne


 
la meme en francais ? Objet est une classe, deja, pas une interface :o


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)