OVH Cloud OVH Cloud

pb sur objet

1 réponse
Avatar
Thierry
Bonjour,

J'ai 2 classe qui ont quasiment les memes methodes et des propriétées
différentes.

Je voudrais faire quelque chose de ce type, mais je n'y arrive pas.

if (request.getParameter("TYPE_OTP").equals("C")) {
eotp = (OTP)request.getAttribute("eotp");
} else {
OTP_FILTRE eotp = (OTP_FILTRE)request.getAttribute("eotp");
}

Est-ce possible ?

Merci
Thierry

1 réponse

Avatar
Arnaud B.
Bonjour,

Pourquoi pas plutôt :

Object attr = request.getAttribute("eotp") ;

if (attr instanceof OTP){
eotp = (OTP)attr;
...
...
}
else{
...
...
}

Mais il serait mieux encore d'avoir une interface commune déclarant les
méthodes, disons GenericOTP (avec par exemple une méthode execute() )

et OTP implements GenericOTP
et OTP_FILTRE implements GenericOTP

Puis :

GenericOTP eotp = (GenericOTP )request.getAttribute("eotp") ;
eotp.execute();

Cordialement,

Arnaud

"Thierry" <== a écrit dans le message de
news:43e24e30$0$18337$
Bonjour,

J'ai 2 classe qui ont quasiment les memes methodes et des propriétées
différentes.

Je voudrais faire quelque chose de ce type, mais je n'y arrive pas.

if (request.getParameter("TYPE_OTP").equals("C")) {
eotp = (OTP)request.getAttribute("eotp");
} else {
OTP_FILTRE eotp = (OTP_FILTRE)request.getAttribute("eotp");
}

Est-ce possible ?

Merci
Thierry