Instruction extends destructrice !*?

berjaoui Messages postés 4 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 16 novembre 2003 - 14 nov. 2003 à 14:52
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 17 nov. 2003 à 21:19
Bonjour à tous.
je comprend plus rien !
Tout d'abord sachez que je travaille sous winsows et en ligne de commande (pas de EDI tel forte ou jbuilder , disons pour l'instant)
je croyais que pour instancier un objet de type classe1 dans classe2 il fallait utiliser l'instruction "extends"; en l'ommettant l'héritage fonctionne et en le mettant il ne fonctionne pas et l'erreur est "cannot define symbol constructor Chien()".
y'a un truc que j'ai dû comprendre à l'envers. Voici la classe parent et la classe enfant qui sont deux fichiers java séparés :

/************** Classe parent Chien.java ***/
Code:

public class Chien {
String couleur;
String poids;
Chien(String couleur, String poids) {
this.couleur = couleur ;
this.poids = poids ;
}
public void identite(){
System.out.println("votre chien est de couleur "+couleur+" et il pese "+poids+" kilos.");
}
}


/************** Classe enfant Caniche.java***/
Code:

public class Caniche { // pas de extends Chien ??? et en plus ça marche

public static void main(String argv[]) {

Chien MonChien = new Chien("marron","30");
MonChien.identite();
}
}


merci de votre réponse :)

débutant java so help me !!

16 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
14 nov. 2003 à 20:19
:big) Neodante :big)

En fait la méthode main n'a rien à voir avec ta classe Caniche et tu ne fais absolument pas d'héritage !
Je m'explique la méthode main peut se mettre dans n'importe quelle classe. Ici la seule chose que tu fais c'est une instance de Chien, rien de plus ! Si tu mets la méthode main dans Chien le résultat sera de même (ou tout autre classe !). Maintenant pour vérifier si ton héritage fonctionne, tu n'as qu'à essayer d'instancier un Caniche et d'utiliser une méthode de chien : tu risques d'avoir des surprises -> le compilateur va te jeter !
A mon avis tu n'as réellement rien compris à la programmation objet (je ne t'insulte pas ne t'inquiéte pas !) et tu devrais peut-être commencé par trouver des articles ou des bouquins sur le programmation orienté objet (quelques temps de lecture une bonne dizaine de pages dirons nous) et ce sera bon pour vraiment comprendre JAVA qui est à l'objet ce que les Lego Technics sont au Duplo ! (donc 200% objet !)
Si t'as d'autres prob n'hésites pas ! :big)
@+
0
berjaoui Messages postés 4 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 16 novembre 2003
14 nov. 2003 à 20:30
j'ai eu la réponse à ma question sur un autre forum. en effet je n'avais pas compris le concept d'héritage mais il faut avouer que ce n'est pas un concept réellement difficil à apprendre mais à transmettre. Enfin on est pas tous pédagogue, merci encore. (j'ai posé le même prob sur le site www.developpez .com et j'ai le meme login).
débutant java so help me !!
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
15 nov. 2003 à 23:07
GodConan :clown)
neodante reelement diplomat ... ;o)
ceci dit l heritage c qd meme pas dur a apprehander ...
(pa com l orthograf)
0
berjaoui Messages postés 4 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 16 novembre 2003
16 nov. 2003 à 01:27
ceci dit l heritage c qd meme pas dur a apprehander ...
(pa com l orthograf)

correction :

"ceci dit, l'héritage c'est quand même pas dur à apprendre
(pas comme l'orthographe)"
('appréhender' est hors contexte ici )

Alors qu'est ce que tu penses de mon niveau en orthographe ? c'est mieux que certains , hein ?

;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 nov. 2003 à 02:33
GodConan :clown)
ouA!!!!

;o)
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 nov. 2003 à 02:35
GodConan :clown)
ceu ci dit bon ta des efort a faire en sémantique ;o)
apprehender et tout a fait ds le coup : definition 3 du ptt larrousse edition 2003 ;o)...

hé vi ;o)
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
16 nov. 2003 à 16:31
:big) Neodante :big)

Super la discussion sur l'orthographe !!!
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
16 nov. 2003 à 16:34
:big) Neodante :big)

Oups moi aps appuyé sur le bon bouton (c'était le bouton smiley que je voulais atteindre) ... donc je continue ! :-p
Ce n'est pas tant le concept d'héritage qui est dure à éppréhender mais vraiment le concept de l'orienté objet ! Essaye de programmer de gros programmes en objet et tu verras que ce n'est pas super facile ... et soi dit entre nous pas forcément la meilleure des solutions !
Voilà c'est tout !
@+ :approve)
0
berjaoui Messages postés 4 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 16 novembre 2003
16 nov. 2003 à 16:39
merci à tous !
débutant java so help me !!
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 nov. 2003 à 17:13
GodConan :clown)
yup ;o)
et dc la POO est justemen a mon avis le plus souvent la meilleur soluce pour les gros prog ;o) ceci dis kes k 1 gro prog ;o) 10 000, 100 000 ou 1 000 000 lignes (voir pire) ;o)

++
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
16 nov. 2003 à 18:36
:big) Neodante :big)

Je ne pense qu'un gros prob objet se compte en lignes mais en nombre d'objets ! Pour moi un gros prog commence à partir de 500 objets (tiens y a d'ailleurs qui m'attende ! ;-))
En revanche pour le graphique (je prends par exemple J3D mais ce n'est qu'un exemple parmi tant d'autres !) ne permet pas toujours de faire ce que l'on veut ou alors cela complique l'architecture du prog inutilement et devient un vrai casse tête lorsque l'on veut faire évoluer le projet !
C'est ici que la programmation procédurale intervient pour nous sauvé ... est-ce que tout est réellement objet dans notre monde ??? :-p
@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
16 nov. 2003 à 18:48
GodConan :clown)
ben c pas facil de comparer les taille de prog si tu parle en objet vu ke tous ne son pas fai en poo ;o).
c facil de faire 500 objet de 30 lignes ;o).
Evidement tou n est pas objet dailleur les objets eux meme ont forcement un fond de prog traditionnel...
Meme dans le JAVA certaine class sont asser orible du point vu POO c souvent inevitable (et preferable)pour les operation de base.
cqfd : les prog ce compte belle est bien en ligne ;o)
( on va qd meme pas les compter en mot... >:) )

hé!! jespere tu compile pas ton gro projet en ligne de commande ;o).. hihi ;)

++
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
17 nov. 2003 à 00:11
:big) Neodante :big)

C'était juste pour mettre l'accent que même si un programme fait 1000000 lignes, une difficulté avec POO est rajouté : l'architecture que l'on ne peut changer comme on change quelques lignes ou appel à une fonction ...
Le copier coller avec le procédural ça marche, en POO c'est pas gagné d'avance ... :big)
@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 nov. 2003 à 00:44
GodConan :clown)
hmmm chu ipas tro daccor avec toi
moi g jamai fai otan de copier coller ;o) ke depuis ke je fai de l objet en JAVA ;o)
menfin c tou un deba.. ;o) pas sur ke "berjaoui" soi interresser ;o) hihi ..

mais bon g tester les 2 a maintenir et je prefere de loin les prog Objet qd meme ;o)...

++
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
17 nov. 2003 à 09:18
:big) Neodante :big)

Effectivement c'est un débat mais c'est surtout un tendance personnelle : même si mon patron me tombe dessus dés que l'architecture de mon projet change et que ça fout un merdier pas possible (et oui l'info ça évolue même pendant un projet ... les patrons eux non !!!)
@+
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 nov. 2003 à 21:19
GodConan :clown)

pfff... ;o)

i a pas ke les patron ki doivent evoluer.............................
0
Rejoignez-nous