Le plus souvent, ce que l'on cherche à réutiliser, ce sont les algorithmes.
Pour ce faire, on voit de plus en plus la chose suivante en POO :
On définit une méthode qui:
- prend en argument une structure de données (ex: un objet)
- prend en deuxième argument une "fonction" (délégué / lambda /...) qui va extraire les propriétés de l'objet qui nous intéressent
- dans le corps de la méthode, on définit l'algorithme qui va travailler sur ces propriétés
De cette façon, on peut développer des algorithmes applicables sur des classes qui n'ont strictement rien à voir entre elles (pas de classe ou d'interface commune entre elles).
Le seul principe de POO en oeuvre ici, c'est l'encapsulation (on n'utlise ni l'héritage, ni le polymorphisme).
Partager