TP classe IP

TP classe IP

Version pdf

On désire construire une classe gérant une adresse IP. Cette classe doit permettre de donner son adresse réseau et sa classe.

Question 1.

Pour cela on doit déclarer une classe IP ayant 4 attributs privés, de type int : octet1, octet2, octet3, octet4.

Travail à faire
Créer un nouveau projet, mode console en C#, ajouter une nouvelle classe, IP, ajouter les 4 attributs indiqués plus haut.
Ajouter un constructeur, à 4 arguments, permettant de valoriser les attributs. Compiler afin de ne pas avoir d'erreurs de syntaxe.

Question 2.

Cette classe doit pouvoir afficher ses attributs sous la forme classique d'adresse IP : chaque octet séparé par un point.

Travail à faire
Ajouter à la classe IP une méthode versChaine telle que :

permettant la sortie écran suivante :

Question 3.

Travail à faire

Rappel : selon le premier octet, une adresse est de classe :

- 'A' s'il est inférieur ou égal à 126

- 'B' de 128 à 191 compris

- 'C' de 192 à 223 compris

- 'x' dans les autres cas

Ecrire une méthode classe, qui retourne la classe d'une adresse réseau, l'appel suivant :

permet d'afficher la classe -ici C- :

mais l'appel :

affiche :

 

Question 4

Travail à faire

Ecrire une méthode adresseReseau, qui retourne un objet de type IP, représentant l'adresse du réseau de l'adresse IP concerné. L'appel suivant :

permet d'afficher :

Question 5

Travail à faire

Ecrire une méthode estMemeReseau telle que l'appel :

affiche que les deux ip sont dans le même réseau. Vous écrirez, si besoin, des accesseurs (méthodes get) sur les attributs privés.

Question 6

          On s'intêresse maintenant aux entrées-sorties (saisie, affichage).

Pour cela, on va créer une méthode (saisir) dans la classe Program qui va créer une instance valide de la classe IP

Travail à faire

Ajouter une nouvelle méthode dans la classe Program dont la signature sera :

public static IP saisir()

Ecrire le code de cette méthode manière à pouvoir écrire dans le Main :

 

IP ip2 = saisir();

Console.WriteLine(ip2.versChaine());

et qui affiche :