Implementation d’un héritage dans mon modèle

,
Tags: #<Tag:0x00007f490f439ec8> #<Tag:0x00007f490f439e00>

Bonjour,
Au cours de la formation, nous n’avons pas bien vu la relation héritage. J’ai des éléments dans mon modèle qui sont des cas généraux d’autres éléments. Comment puis-je le faire dans mon modèle ?
Merci bien

On est bien ici à priori dans un pattern d’héritage classique = un objet “légume” qui se spécialise en “carotte” ou en “choux”. Pour le paramétrer il n’y a rien de compliqué => créez votre objet “légume” avec les attributs et les actions communes, créez ensuite les objets “carotte” et “choux” en ajoutant les attributs et les actions spécifiques à chacun de ces objets, etc.

Dans le cas nominal ces 3 objets doivent être associées à la même table physique mais avec une search spec ad hoc (en général on se sert d’un attribut “type” masqué ou non, modifiable ou non, pour distinguer les types d’objets mais cela peut se faire avec d’autres approches si beosin).

Et comme indiqué dans votre autre post, si vos objets ont du code Java, reproduisez l’héritage au niveau des classes de ces objets.

A noter qu’il existe un hook getTargetObject qui permet en affichant une liste de “legumes” d’ouvrir un record donné non pas en tant que “légume” mais en tant que “carotte” ou que “choux” en fonction de son type. Cf. ObjectCore

Bonjour,

Est-ce que vous pouvez me donner un exemple svp? Je ne connais pas beaucoup java donc j’apprends en même temps. Par exemple dans le cas des légumes le code qui traduit l’héritage entre légume choux carottes etc… et ensuite où est-ce que je le copie dans simplicité.

Merci bien.

public class Legume extends ObjectDB
public class Carotte extends Legume
public class Choux extends Legume

Il y a pléthore de documentation pour vous former à Java sur interner, reportez vous à ces documentations, il n’y a rien de specifique à Simplicité sur ce point et ce forum n’est donc pas le bon endroit pour discuter de ce genre de choses.

Bonjour,
Ok. Merci pour vos réponses.