Getsuyodev, Programming is mainly used when constructing an application. Programming requires knowledge of application domains, algorithms, and programming language expertise. Programming can be developed in different logic based on developer knowledge.

POO – liste générique héritant d’une List

Programmez en orienté objet en C Sharp



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



Les interfaces implémentées par List<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 de type T.
  IEnumerable<t>  Contrat pour l’énumération d’une collection de type T.
  IList<T>  Représente une collection de type T dont chaque élément est accessible par un index

La classe List<T> :

Schéma interne d’une List<T> :

n est le nombre d’éléments présent dans la List<T> ( n = this.Count ).

L’accès à un élément d’une objet de type List<T> s’effectue essentiellement grâce à l’indexeur (R/W) :

 List<int> liste ;

int x =18;
….
int k = liste.Add( obj );

int y = liste[k] ;

liste[k] = 562 ;
Exercice, MaListe fondée sur une List<T> :
1°)
ajouter lors de la création dans la liste… : rajoutez un nouveau constructeur.
2°)
renvoyer directement n premiers éléments dans un tableau… : redéfinissez la méthode ToArray(…)

Classe MaListe héritant d’une List<T>

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

class MaListe<T> : List<T>
{
    public MaListe(.....)
    { 
    }

    public ... ToArray(.....)
    {
    }
}

Comments are closed, but trackbacks and pingbacks are open.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More