Le paradigme de la programmation orientée objet utilise l'héritage pour modéliser les relations entre les entités qui suivent la relation Généralisation-Spécialisation. Ici, une classe de base est utilisée pour encapsuler les attributs et le comportement communs (généraux) d'un ensemble d'entités et les classes dérivées. étendre la classe de base en ajoutant des attributs supplémentaires et/ou en ajoutant/modifiant le comportement existant.
En tant que novice en programmation fonctionnelle, j'ai besoin de conseils pour modéliser de telles relations dans des langages fonctionnels comme F#.
Par exemple, quelle serait la meilleure approche pour modéliser une situation simple comme la suivante :
abstract class Tutorial {
private String topic;
abstract public void learn();
}
class VideoTutorial extends Tutorial {
private float duration;
public void learn () {
System.out.println ("Watch Video");
}
}
class PDFTutorial extends Tutorial {
private int pageCount;
public void learn () {
System.out.println ("Read PDF");
}
}
puis, plus tard, utiliser une collection de Tutoriels et appeler apprendre pour observer un comportement polymorphe.