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 – Dictionnaire générique héritant d’un Dictionary

Programmez en orienté objet en C Sharp



Objectif : Rappel  de la classe générique de gestion d’une collection d’objets rangés sous forme de dictionnaire (paire de valeur <clef,valeur>), nommée Dictionary<T1,T2> et située dans le namespace System.Collections. Construire une classe MonDico<T> héritant de la classe Dictionary<int,T> permettant dans laquelle la clef est l’entier représentant le hashcode de la valeur :
1°)d’ajouter immédiatement au dictionnaire dès sa création un tableau linéaire de type T,
2°) et permettant de sortir les n premiers éléments du dictionnaire dans un tableau de type T et de les effacer.



Les interfaces implémentées par Dictionary<T1,T2>

public class Dictionary<TKey,TValue> :
IDictionary<TKey,TValue>,
ICollection< KeyValuePair<TKey,TValue> >,
IEnumerable< KeyValuePair<TKey,TValue> >,
IDictionary, ICollection, IEnumerable,
ISerializable, IDeserializationCallback;

Interface Description
ICollection <  KeyValuePair<T1,T2> > Contrat pour la taille, l’énumération  d’une collection typée.
IEnumerable <  KeyValuePair<T1,T2> > Contrat pour l’énumération d’une collection typée.
IDictionary <T1,T2> Représente une collection typée sous forme de couple (T1 clef, T2 valeur).
 ICollection  Contrat pour la taille, l’énumération et la synchronisation d’une collection.
 IEnumerable Contrat pour l’énumération d’une collection.
 IDictionary Représente une collection sous forme de couple (clef, valeur)


La classe Dictionary<T1,T2> :

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

L’élément principal est un couple :

1°) Chaque élément du couple est atteignable à travers les propriétés Keys {get;} et Values {get;}

public sealed class KeyCollection : ICollection<TKey>, IEnumerable<TKey>, ICollection, IEnumerable
public sealed class ValueCollection : ICollection<TValue>, IEnumerable<TValue>, ICollection, IEnumerable 2°) La valeur est aussi atteignable par  l’indexeur : this[clef] renvoie la valeur associée à cette clef .

Exercice, MonDico<T> fondé sur un Dictionary<int,T> :

1°)
ajouter lors de la construction du dictionnaire… : rajoutez un nouveau constructeur.
2°)
enlever et mettre n éléments dans un tableau… : rajoutez une nouvelle méthode RemoveItems(…)


Classe MonDico<T> héritant de Dictionary<int,T>

using System;
using System.Collections.Generic;

    class MonDico <T> : Dictionary<int,T>
    {
        public MonDico (.....)
        {
        }

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

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