Chapitre 1 - Introduction:: C# Cil (Langage Intermédiaire) Binaire
Chapitre 1 - Introduction:: C# Cil (Langage Intermédiaire) Binaire
Chapitre 1 - Introduction:: C# Cil (Langage Intermédiaire) Binaire
Les variables :
Exemple :
Les conditions :
If(condition)
istruction
}
If(condition)
Instruction
Else
If(condition)
{ Instruction}
Présentation du programme C# :
Console.ReadLine() ; // =pause
Int i= 10 ;
Long j =i+2 ;
2) Implicite : entre les variables de type diffèrent. Ce type de conversation s’effectur des
fonction.
Les méthodes :
Les tableaux :
Les matrices :
Déclaration :
Type [ , ] nom tableau = new type[n,m] ;
Type [ ][ ] nom tableau = new type[n][ ] ;
- Exemple :
Int [ , ] exp1 = new int[6,3] ;
Nb :
pour convertir un tableau de char en string :
char [ ] t= new char [ ]{‘a’,’b’} ;
String s = new string (t) ;
pour diviser un tableau à leur lettre :
string s = ‘’abc ‘’ ;
char[] t ;
t=s.tochararray() ;
Nb :
Count : nombre des données dans la liste.
Capacity : nombre possible de donnée dans la liste.
Autre méthodes :
Insert : ajouter un élément à une position.
Nom List. Insert( indice, objet ) ;
Remove : supprimer un élément.
Nom List. Remove(objet) ;
RemoveAt : supprimer un élément avec sa position.
Nom List.RemoveAt(indice) ;
Nom.Add( ‘’ABC’’ ) ;
Nom.Add( 1 ) ;
Nom.Add( ‘A’ ) ;
L’affichage :
Foreach(objet o in nom){Console.Writeline( o ) ;}
Objet :
Dans le monde réel, nous sommes entouré d’objet (chaise, table, voiture …)
Un objet possède de propriétés (couleur ...)
Un objet possède des actions ou méthodes (voiture roule ….)
Les objets peuvent interagir (un conducteur démarre la voiture )
Un objet est une structure composée de propriétés et action.
On peut instancier ou initialiser plusieurs objets .
Classe :
Création de champs :
* Accessibilité type nom ;(public/protected/private...)
les méthodes : [static] Accessibilité type de retour Nom (paramètres){ }
* Exemple :
public string identifier () {return prénom+""+Nom+"a"+Age+"ans";}
Constructeur : c'est une méthode appelé à chaque fois que vous voulez instancier un
nouveau objet à partir d'une classe
* le constructeur est la méthode ayant le même non que la classe et qui ne retourne
jamais rien (void), par contre pouvez lui passez des arguments
Déclaration :
Public Nom class (Paramètre)
{
Instruction
.....
}
Exemple :
public personne (){
_Nom="karimi";_
prénom="karim";
_age=20;
}
Constructeur d'initialisation : c'est un constructeur qui permet d'afficher des valeurs
aux champs de la classe au moment de l'inisialisation
Exemple :
public personne (string Nom ,String prenom,int Age)
{
_Nom=Nom ;
_prenom=prénom ;
_age=Age ;
}
Constructeur par copie : c’est un constructeur qui permet d'istancier un objet à partir
d'un autre objet
Exemple :
Public personne (personne p)
{
_Nom=p. Nom ;
_prenom=p. Prenom ;
_Age=p. Age ;
}
Encapsulation :
Définition :
- l'encapsulation est l'idée de protéger les informations d'un objet et proposer des
méthodes de modifications de cet objet.
Niveau d'encapsulation :
- par défaut /private :les attributs privés sont accessibles seulement par la classe elle-
même.
- Public : les attributs publics sont accessibles par toutes les classes.
- Protected : les attributs protèges sont accessibles par la classe elle-même, et les classes
dérivés (héritage).
- Internal : les attributs internal sont accessibles par la classe elle-même et les classes
dérivés.
Classe. Méthode ()
La méthode Main () est static, pas besoin d'instancier la classe program pour l'exécuter
=> Les variables déclarés par static, sont des variables de la classe partagés entre les
méthodes de la classe, ne sont pas liés à un objet
Int c=i ;
I=j ;
J=c ;
* lors de l'appel de ce type de méthode vous devez précéder toujours par ref. Suivé par la valeur
* le mot clé out permet de passer par référence pour les méthodes qui n'attend pas à recevoir des
variables initialisées
String s= "az";
a=30 ;
a=30 ;
Int age ;
Nb :
this : référence de l’objet actuel il est utilisé
obligatoirement dans le cas de conflit d'identificateur .
Exemple
This. Nom=nom ;
Prenom=p ;
Chapitre 3 – Héritage :
1 - Définition :
2 - déclaration :
Class A class B : A
{ {
} }
B hérite de A.
Class Humain
{
Private Int _Age ;
This. _Nom=nom ;
This._prenom=prenom ;
this._ Age=age ;
Public Enfant (string nom, string prenom, Int age, string niveau_scol)
This. Niveau_Scolaire=niveau_scol ;
Polymorphisme
a - définition :
{
}
Class B : A
Masquage :
- Le masquage par héritage se produit lorsque les classes déclarant des noms qui ont été hérités de la
classe mère.
- Le masquage est utilisé pour une constante, un champ, une propriété ou une méthode.
-->Exemple1 :
Class A
Public void f ()
}}
Class B : A
}}
--> Exemple 2 :
Class humain
Return string. Format ("le nom {0}, prenom {1}", Nom, Prenom) ;
}}
}}
a - Abstraite :
* définition : une classe abstraite est une classe dont l'implémentation n'est pas complète et qui
n'est pas distanciable
b - déclaration
* Exemple :
NB :
* les méthodes d'une classe abstract sont tous déclarer
Virtual ou abstract
SEALED :
*la class sealed est un type de class déclaré pour Eviter l'héritage à partir de cette class
*les méthodes sealed sont des méthodes que vous ne pouvez pas redéfinir avec une substitution ou
masquage
-Déclaration :
--> Exemple
1) classe :
Sealed class Exemple1 {
Public Int x ;
Public Int y ;
--> Main ()
e.x=10 ;
e. y=20 ;
Public Int z ;
2) Méthodes :
Class x
Class y : x
{
Sealed protected override f1 () {console.writeline ("y.f1") ;}
Class z : y
La classe partiale :
* définition : ce sont des classes créés par parties, une classe partiale permet d'hériter de plusieurs
classes au même temps
* déclaration :
*Exemple :
Partial class code
Public Int x ;
Public Int y ;
thist.x=x ;
this. y=y ;
Interface
a - Définition :
- une interface contient uniquement les signatures des méthodes, des propriétés
- une classe qui implémente une interface, doit redéfinir les membres de l'interface
b - déclaration :
Void simple () ;
* main ()
s.simple () ;
2- interface IPoint
Int x
{get ; set ;}
Private Int _x ;
Private Int _y ;
Set {_x=value ;}
3- interface Ix {
Void afficher () ;
Interface Iy {
Void afficher () ;}
Class z : Ix, Iy
A/ Intérêt : dans un programme sans gestion des exceptions, certains actions imprévues peuvent
compromettre la fiabilité de l'application
B/ Déclaration : Syntaxe
Catch {} ==> le bloc de code au cas d’erreur, en général est un message explication la nature de
l'erreur
Finally {} ==> le bloc de code qui s’exécute dans tous les cas, ce bloc est facultatif
C/ Exemple :
Exemple 1 :
console.writeline (" donner votre age") ;
Int age=0 ;
x=int.parse (console.readline()) ;
Try {
x=int.parse (console.readline()) ;
Finally {console.writeline(Fin) ;}
Exemple 3 :
Int x=0 ;
x=int.parse (console.readline()) ;
Try {
If(x==0)
Exemple 4 :
console.writeline ("donner le premier nbr") ;
Unit c = a/b ;
Catch (overflowexception)
Catch (divideByzeroException)
==> Exemple 5 :
Class Monexception : Exception
this.helplink="TDI.ma";
==> Exemple 6 :
Class Monexception : application Exception
this. Message=message ;
}}
Gestion des fichiers
a - StreamWriter :
¤ Exemple1 :
If (File.Exists (path) ==False)
Else
b - Create :
string path = Environnement.GetFolderPath(Environnement.SpecialFolder.DeskTop);
If (File.Exists (fichier)==False)
file.create (fichier) ;
Else
c - CreateDirectory :
String path = Environnement.GetFolderPath(Environnement.SpecialFolder.DeskTop);
Directory.createDirectory(Dossier) ;
console.writeLine ("Dossier crée") ;
Else
a - StreamWriter :
if(File.exists(@"D:\cours\Exp.txt")==false)
b - File :
If (File.Exists (fichier) ==false)
else
File.AppendALLText(fichier,text1);
3/ lire un fichier :
a - StreamReader :
StreamReader sr= new StreamReader(fichier);
while((ligne=sr.Readline())!= NULL)
console.writeline(ligne);
sr. Close();
-NB : pour Stream Reader et StreamWriter vous devez arrêter l'exécution des deux à
b - File :
foreach(string s in lignes)
console.writeline(s);