mardi 6 avril 2010

Concept Objet : quelques rappels ...

Bonjour,

Aujourd'hui je vous propose un petit billet de "rappel" sur les concepts de la programmation orientée objet (POO). Qui je doit le reconnaitre m'était sorti de la tête.
En effet, je ne faisait que du "procédurale" (en asp.net c# 1.1) ... les concepts de base se sont vite oubliés.
Mais désormais je réfléchi sur les architectures (Asp.Net MVC 3.5) et force est de constater que les concepts obscures (et chiants ?) vu en cours pendant mes études, deviennent des concepts tout à fait géniaux. Dès lors ou l'on comprend réellement leur application, tout parait bien plus "naturel".

Je vais essayer de vous présenter les différentes méthodes que je côtoie actuellement. Cela me permet, d'une part d'une part de mieux appréhender le sujet, et d'autre part de le récupérer sur le blog dans le cas ou j'aurai un trou de mémoire. (ce qui arrive malheureusement)

Mots clés :

- override : notifie que la méthode (ou attribut) est réécrit/redéfini dans la classe fille
- Virtual : permet de réécrire (c'est optionnel) la méthode dans une classe fille grace au mot clé override
- abstract : force la classe fille de réecrire la méthode (override). Attention, nécessite que la classe mère soit noté abstract également.


Exemple :
public abstract class Service< T >     // "T" : Generic - Correspond a un modèle
{
   protected Repository repo;

   public virtual T FindOne(object id)
   {
      return repo.FindOne< T >(id);
   }

   public abstract void Save(T entite);
}

public class Commune_Service : Service< commune >
{
   // obligatoire : ne compile pas si elle n'est pas définie
   public override void Save(Commune entite) 
   {
      throw new NotImplementedException();
   }
}

Visual Studio vous apporte un coup de pouce :

Aucun commentaire:

Enregistrer un commentaire