POO – Collection générique héritant d’un Collection

Programmez en orienté objet en C Sharp



Objectif : Rappel  de la classe générique de gestion d’une collection d’objets, nommée Collection<T> et située dans le namespace System.Collections.ObjectModel. Construire une classe MaCollection<T> héritant de la classe Collection<T> permettant :
1°)d’ajouter immédiatement dans la collection dès sa création un tableau linéaire de type T,
2°) et permettant de sortir immédiatement dans un tableau de type T les n premiers éléments de la collection et de les effacer.



Les interfaces implémentées par Collection<T>

Interface Description
ICollection Contrat pour la taille, l’énumération et la synchronisation d’une collection.
IEnumerable Contrat pour l’énumération d’une collection.
IList Représente une collection dont chaque élément est accessible par un index.
  ICollection <T> Contrat pour la taille, l’énumération et la synchronisation d’une collection  typée.
  IEnumerable <T> Contrat pour l’énumération d’une collection typée.
  IList <T>  Représente une collection typée dont chaque élément est accessible par un index.


La classe Collection<T> :

Schéma interne d’un objet de classe CollectionBase :

Cette structure peut être atteinte comme un IList<T> par la propriéte Items.

Exercice, MaCollection<T> fondée sur un Collection<T> :
1°)
ajouter lors de la construction de la collection… : rajoutez un nouveau constructeur.
2°)
enlever et mettre n éléments dans un tableau… : rajoutez une nouvelle méthode RemoveItems(…)


Classe MaCollection<T> héritant de Collection<T>

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;

    class MaCollection <T> : Collection <T>
    {
        public MaCollection (.....)
        {
        }

        public ..... RemoveItems(......)
        {
        }
    }