Rechercher : dans
Par :

Java: héritage

Dernière réponse le 13 nov 2007 à 11:06:03 BigFlo93, le 21 oct 2002 à 12:23:19 
 Signaler ce message aux modérateurs

Salut !

voila je découvre l'héritage en Java et j'ai quelques questions:
J'ai une page jsp avec des beans, et je fais
<jsp:useBean id="id_bean" class="classe1" scope="page" />
<jsp:setProperty name="id_bean" property="*" />
Le bean id_bean en question récupere les valeurs en parametres et les affecte aux variables correspondantes avec les proprietes setXXX.
Ensuite je fais dans ce bean un extends avec une autre classe qui va s'occuper que des valeurs passées en parametres. en fait les variables et autres setXXX déménagent vers la nouvelle classe nommée classe2. Et la je comprends pas, parce que ca marche quand meme avec l'extends alors que j'ai toujours mon
<jsp:setProperty name="id_bean" property="*" />
alors que , pour moi, je devrais mettre plutot:
<jsp:useBean id="id_bean" class="classe1" scope="page" />
<jsp:useBean id="id_bean2" class="classe2" scope="page" />
<jsp:setProperty name="id_bean2" property="*" />

Cela me parait plus logique !
Je voudrais donc savoir si c'est normal que ca marche ou bien justement que ca ne devrais pas marcher ? Parce que la je sui largué !!

Merci de vos réponses !

Meilleures réponses pour « Java: héritage » dans :
Java - L'héritage Voir La notion d'héritage Le concept d'héritage est un des concepts les plus importants de la programmation orientée objet, car il conditionne irréversiblement la façon selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de...
[Firefox] plugin Java Jre de Sun VoirA) Les différentes variantes Java chez Sun B) Installation sous Mandriva Limited Edition 2005 ETAPE 1 ETAPE 2: Création du lien symbolique C) Installation sous debian lenny D) Installation sous ubuntu hardy heron A) Les différentes...
Installer Java sous Ubuntu VoirPar défaut, Firefox n'est pas fourni avec Java. Voici comment procéder pour l'installer: Ouvrez un terminal (Menu Applications > Accessoires > Terminal) et tapez: sudo aptitude install sun-java6-jre sun-java6-plugin ou sudo aptitude install ...
Supprimer les anciennes versions de Java avec JavaRa VoirJavaRa A propos de la gestion des machines virtuelles Java Présentation de JavaRa Exemple de rapport émis par JavaRa A propos de la gestion des machines virtuelles Java Pour des mises à jour ciblées de java Sun a finalement donné une...
Télécharger Java Runtime Environment VoirJava Runtime Environment (JRE) installe la machine virtuelle Java, permettant de jouer en ligne, de discuter avec des personnes dans le monde entier, de calculer les intérêts de votre prêt immobilier ou de visualiser des images en 3D. Ces...
Java - L'accessibilité VoirLa notion d'accessibilité Le concept d'accessibilité (généralement appelé encapsulation) définit la possibilité qu'a le concepteur d'une classe de restreindre l'accès à certaines données, ou plus généralement à certains éléments (méthodes, classes,...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...

1

choubaka, le 21 oct 2002 à 12:49:21

Salut

Ensuite je fais dans ce bean un extends avec une autre classe qui va s'occuper que des valeurs passées en parametres. en fait les variables et autres setXXX déménagent vers la nouvelle classe nommée classe2.

là j'avoue que je ne comprends pas très bien ce que tu veux dire par faire un extends dans un bean?

peux tu m'éclairer?



Choubanimal : 
"L'alcool est un ennemi", c'est lâche de fuir l'ennemi

Répondre à choubaka

2

BigFlo93, le 21 oct 2002 à 13:01:37

Salut !

En fait je pense que je me suis mal exprimé ! Je voulais dire :
"J'utilise extends dans la classe qui me sert de bean pour ma page jsp." !
De plus, je viens de me relire et moi-meme j'ai pas compris, lol donc je reformule:
J'utilise les proprietes setXXX pour parametrer des varibales selon des valeurs passées en parametre. Donc dans ma class adéquat j'ai donc des trucs genre setVar1(int nb) { var1=nb;} ...
Donc je bouge toutes ces fonctions setXXX vers une autre classe et je fais un extends. Mais dans ma page jsp j'ai toujours mon truc
<jsp:useBean id="id_bean" class="classe1" scope="page" />
<jsp:setProperty name="id_bean" property="*" />
sans rien rajouter ca marche quand meme !
Vu que je ne comprends pas je demande des informations sur ce "phénomen" !

Voila !

Répondre à BigFlo93

3

 fledren, le 13 nov 2007 à 11:06:03

La notion d'héritage est générale au monde objet : çà fonctionne en JAVA comme dans n'importe quel autre langage à peu de choses près. Bref, si un bean bean1 hérite de bean2, toutes les méthodes définies dans une classe Bean2 (et non privées) sont utilisable sur un objet de type Bean1. Exemple :

class Bean2 {
private String str = "";
public Bean2() {
}
protected String getStr() {
return this.str;
}
protected void setStr(String str) {
this.str = str;
}
}

class Bean1 extends Bean2 {
private int entier= "";
public Bean1() {
}
protected int getEntier() {
return this.entier;
}
protected void setEntierStr(int entier) {
this.entier = entier;
}
}

Tu pourras faire :
Bean1 bean1 = new Bean1();
bean1.setStr("string");

alors que la méthode "setStr" est uniquement définie dans la classe Bean2

Si tu m'as suivi jusque là, c'est bon : tu étends simplement le concept à tes balises JSP (à la syntaxe près, évidemment) :
<jsp:useBean id="bean1" class="Bean1">
<jsp:setProperty name="bean1" property="str" value="string"/>
fonctionne très au même titre que :
<jsp:useBean id="bean2" class="Bean2">
<jsp:setProperty name="bean2" property="str" value="string"/>

Répondre à fledren