Je travaille sur un problème simple pour représenter quelques types qui ont une structure hiérarchique. Une ligne de données contient des données et les données peuvent varier d'un type de ligne à un autre. Une rangée simple peut seulement avoir un titre et une date, alors qu'une rangée prolongée peut contenir un titre, une description, une date et une image. Je ne suis pas novice en Javascript mais je ne le comprends pas assez bien pour aller de l'avant. Pour donner un exemple simplifié, voici comment je l'écrire en Java:Héritage en Javascript
interface Row {
View getView();
}
class BasicRow implements Row {
private String title;
private String description;
public BasicRow(String title, String description) {
this.title = title;
this.description = description;
}
public View getView() {
// return a View object with title and description
}
}
class ExtendedRow implements Row {
private String title;
private String description;
private Date date;
private Image image;
public ExtendedRow(String title, String description, Date date, Image image) {
this.title = title;
this.description = description;
this.date = date;
this.image = image;
}
public View getView() {
// return a View object with title
// description, date, and image
}
}
Il y a quelques améliorations OO qui peut être fait ici tels que l'extension ExtendedRow de BasicRow et définir uniquement les nouveaux champs ainsi que redéfinissant la méthode getView .
Javascript n'a pas d'interfaces ou de classes abstraites et je crains de ne pas avoir encore réfléchi dans un sens prototypique. Alors comment pourrais-je implémenter quelque chose d'aussi basique que l'exemple ci-dessus en Javascript où il y a une classe de base ou une interface, et deux classes s'étendant de cette classe de base, chacune avec leur propre comportement spécifique.
Les pointeurs sont grandement appréciés.
ceux qui étaient tous en effet de bonnes lectures ..il faut un changement majeur dans la pensée et je suppose que je vais hacker les détails mineurs toute la journée, mais ces liens ont vraiment aidé à éclaircir beaucoup de doutes – Anurag
Heureux que cela a fonctionné pour vous. J'ai eu à peu près la même expérience en lisant ces trois articles la première fois :) – roosteronacid