Apprentissage du langage C (classes, structures, interfaces)

1.  LES BASES DU LANGAGE C#
1.1  INTRODUCTION
1.2  LES DONNEES DE C#
1.2.1  LES TYPES DE DONNEES PREDEFINIS
1.2.2  CONVERSION ENTRE TYPES SIMPLES ET TYPES OBJETS
1.2.3  NOTATION DES DONNEES LITTERALES
1.2.4  DECLARATION DES DONNEES
1.2.5  LES CONVERSIONS ENTRE NOMBRES ET CHAINES DE CARACTERES
1.2.6  LES TABLEAUX DE DONNEES
1.3  LES INSTRUCTIONS ELEMENTAIRES DE C#
1.3.1  ECRITURE SUR ECRAN
1.3.2  LECTURE DE DONNEES TAPEES AU CLAVIER
1.3.3  EXEMPLE D’ENTREES-SORTIES
1.3.4  REDIRECTION DES E/S
1.3.5  AFFECTATION DE LA VALEUR D’UNE EXPRESSION A UNE VARIABLE
1.4  LES INSTRUCTIONS DE CONTROLE DU DEROULEMENT DU PROGRAMME
1.4.1  ARRET
1.4.2  STRUCTURE DE CHOIX SIMPLE
1.4.3  STRUCTURE DE CAS
1.4.4  STRUCTURE DE REPETITION
1.5  LA STRUCTURE D’UN PROGRAMME C#
1.6  COMPILATION ET EXECUTION D’UN PROGRAMME C#
1.7  L’EXEMPLE IMPOTS
1.8  ARGUMENTS DU PROGRAMME PRINCIPAL
1.9  LES ENUMERATIONS
1.10  LA GESTION DES EXCEPTIONS
1.11  PASSAGE DE PARAMETRES A UNE FONCTION
1.11.1  PASSAGE PAR VALEUR
1.11.2  PASSAGE PAR REFERENCE
1.11.3  PASSAGE PAR REFERENCE AVEC LE MOT CLE OUT
2.  CLASSES, STUCTURES, INTERFACES
2.1  L’ OBJET PAR L’EXEMPLE
2.1.1  GENERALITES
2.1.2  DEFINITION DE LA CLASSE PERSONNE
2.1.3  LA METHODE INITIALISE
2.1.4  L’OPERATEUR NEW
2.1.5  LE MOT CLE THIS
2.1.6  UN PROGRAMME DE TEST
2.1.7  UTILISER UN FICHIER DE CLASSES COMPILEES (ASSEMBLY)
2.1.8  UNE AUTRE METHODE INITIALISE
2.1.9  CONSTRUCTEURS DE LA CLASSE PERSONNE
2.1.10  LES REFERENCES D’OBJETS
2.1.11  LES OBJETS TEMPORAIRES
2.1.12  METHODES DE LECTURE ET D’ECRITURE DES ATTRIBUTS PRIVES
2.1.13  LES PROPRIETES
2.1.14  LES METHODES ET ATTRIBUTS DE CLASSE
2.1.15  PASSAGE D’UN OBJET A UNE FONCTION
2.1.16  UN TABLEAU DE PERSONNES
2.2  L’HERITAGE PAR L’EXEMPLE
2.2.1  GENERALITES
2.2.2  CONSTRUCTION D’UN OBJET ENSEIGNANT
2.2.3  SURCHARGE D’UNE METHODE OU D’UNE PROPRIETE
2.2.4  LE POLYMORPHISME
2.2.5  SURCHARGE ET POLYMORPHISME
2.3  REDEFIR LA SIGNIFICATION D’UN OPERATEUR POUR UNE CLASSE
2.3.1  INTRODUCTION
2.3.2  UN EXEMPLE
2.4  DEFINIR UN INDEXEUR POUR UNE CLASSE
2.5 LES STRUCTURES
2.6 LES INTERFACES
2.7 LES ESPACES DE NOMS
2.8 L’EXEMPLE IMPOTS
3. CLASSES .NET D’USAGE COURANT
3.1 CHERCHER DE L’AIDE AVEC SDK.NET
3.1.1 WINCV
3.2 CHERCHER DE L’AIDE SUR LES CLASSES AVEC VS.NET
3.2.1 HELP/CONTENTS
3.2.2 HELP/INDEX
3.3 LA CLASSE STRING
3.4 LA CLASSE ARRAY
3.5 LA CLASSE ARRAYLIST
3.6 LA CLASSE HASHTABLE
3.7 LA CLASSE STREAMREADER
3.8 LA CLASSE STREAMWRITER
3.9 LA CLASSE REGEX
3.9.1 VERIFIER QU’UNE CHAINE CORRESPOND A UN MODELE DONNE
3.9.2 TROUVER TOUS LES ELEMENTS D’UNE CHAINE CORRESPONDANT A UN MODELE
3.9.3 RECUPERER DES PARTIES D’UN MODELE
3.9.4 UN PROGRAMME D’APPRENTISSAGE
3.9.5 LA METHODE SPLIT
3.10 LES CLASSES BINARYREADER ET BINARYWRITER
4. INTERFACES GRAPHIQUES AVEC C# ET VS.NET
4.1 LES BASES DES INTERFACES GRAPHIQUES
4.1.1 UNE FENETRE SIMPLE
4.1.2 UN FORMULAIRE AVEC BOUTON
4.2 CONSTRUIRE UNE INTERFACE GRAPHIQUE AVEC VISUAL STUDIO.NET
4.2.1 CREATION INITIALE DU PROJET
4.2.2 LES FENETRE DE L’INTERFACE DE VS.NET
4.2.3 EXECUTION D’UN PROJET
4.2.4 LE CODE GENERE PAR VS.NET
4.2.5 CONCLUSION
4.3 FENETRE AVEC CHAMP DE SAISIE, BOUTON ET LIBELLE
4.3.1 LE CODE LIE A LA GESTION DES EVENEMENTS
4.3.2 CONCLUSION
4.4 QUELQUES COMPOSANTS UTILES
4.4.1 FORMULAIRE FORM
4.4.2 ETIQUETTES LABEL ET BOITES DE SAISIE TEXTBOX
4.4.3 LISTES DEROULANTES COMBOBOX
4.4.4 COMPOSANT LISTBOX
4.4.5 CASES A COCHER CHECKBOX, BOUTONS RADIO BUTTONRADIO
4.4.6 VARIATEURS SCROLLBAR
4.5 ÉVENEMENTS SOURIS
4.6 CREER UNE FENETRE AVEC MENU
4.7 COMPOSANTS NON VISUELS
4.7.1 BOITES DE DIALOGUE OPENFILEDIALOG ET SAVEFILEDIALOG
4.7.2 BOITES DE DIALOGUE FONTCOLOR ET COLORDIALOG
4.7.3 TIMER
4.8 L’EXEMPLE IMPOTS
5. GESTION D’EVENEMENTS
5.1 OBJETS DELEGATE
5.2 GESTION D’EVENEMENTS
6. ACCES AUX BASES DE DONNEES
6.1 GENERALITES
6.2 LES DEUX MODES D’EXPLOITATION D’UNE SOURCE DE DONNEES
6.3 ACCES AUX DONNEES EN MODE CONNECTE
6.3.1 LES BASES DE DONNEES DE L’EXEMPLE
6.3.2 UTILISATION D’UN PILOTE ODBC
6.3.3 UTILISATION D’UN PILOTE OLE DB
6.3.4 EXEMPLE 1 : MISE A JOUR D’UNE TABLE
6.3.5 EXEMPLE 2 : IMPOTS
6.4 ACCES AUX DONNEES EN MODE DECONNECTE
7. LES THREADS D’EXECUTION
7.1 INTRODUCTION
7.2 CREATION DE THREADS D’EXECUTION
7.3 INTERET DES THREADS
7.4 ACCES A DES RESSOURCES PARTAGEES
7.5 ACCES EXCLUSIF A UNE RESSOURCE PARTAGEE
7.6 SYNCHRONISATION PAR EVENEMENTS
8. PROGRAMMATION TCP-IP
8.1 GENERALITES
8.1.1 LES PROTOCOLES DE L’INTERNET
8.1.2 LE MODELE OSI
8.1.3 LE MODELE TCP/IP
8.1.4 FONCTIONNEMENT DES PROTOCOLES DE L’INTERNET
8.1.5 LES PROBLEMES D’ADRESSAGE DANS L’INTERNET
8.1.6 LA COUCHE RESEAU DITE COUCHE IP DE L’INTERNET
8.1.7 LA COUCHE TRANSPORT : LES PROTOCOLES UDP ET TCP
8.1.8 LA COUCHE APPLICATIONS
8.1.9 CONCLUSION
8.2 GESTION DES ADRESSES RESEAU
8.3 PROGRAMMATION TCP-IP
8.3.1 GENERALITES
8.3.2 LES CARACTERISTIQUES DU PROTOCOLE TCP
8.3.3 LA RELATION CLIENT-SERVEUR
8.3.4 ARCHITECTURE D’UN CLIENT
8.3.5 ARCHITECTURE D’UN SERVEUR
8.3.6 LA CLASSE TCPCLIENT
8.3.7 LA CLASSE NETWORKSTREAM
8.3.8 ARCHITECTURE DE BASE D’UN CLIENT INTERNET
8.3.9 LA CLASSE TCPLISTENER
8.3.10 ARCHITECTURE DE BASE D’UN SERVEUR INTERNET
8.4 EXEMPLES
8.4.1 SERVEUR D’ECHO
8.4.2 UN CLIENT POUR LE SERVEUR D’ECHO
8.4.3 UN CLIENT TCP GENERIQUE
8.4.4 UN SERVEUR TCP GENERIQUE
8.4.5 UN CLIENT WEB
8.4.6 CLIENT WEB GERANT LES REDIRECTIONS
8.4.7 SERVEUR DE CALCUL D’IMPOTS
9. SERVICES WEB
9.1 INTRODUCTION
9.2 UN PREMIER SERVICE WEB
9.3 UN CLIENT HTTP-GET
9.4 UN CLIENT HTTP-POST
9.5 UN CLIENT SOAP
9.6 ENCAPSULATION DES ECHANGES CLIENT-SERVEUR
9.6.1 LA CLASSE D’ENCAPSULATION
9.6.2 UN CLIENT CONSOLE
9.6.3 UN CLIENT GRAPHIQUE WINDOWS
9.7 UN CLIENT PROXY
9.8 CONFIGURER UN SERVICE WEB
9.9 LE SERVICE WEB IMPOTS
9.9.1 LE SERVICE WEB
9.9.2 GENERER LE PROXY DU SERVICE IMPOTS
9.9.3 UTILISER LE PROXY AVEC UN CLIENT
10. A SUIVRE…

Introduction

C# est un langage récent. Il a été disponible en versions beta depuis l’année 2000 avant d’être officiellement disponible en février 2002 en même temps que la plate-forme .NET de Microsoft à laquelle il est lié. C# ne peut fonctionner qu’avec cet environnement d’exécution, environnement disponible pour le moment que sur les machines Windows NT, 2000 et XP.
Avec la plate-forme .NET, trois nouveaux langages sont apparus : C#, VB.VET, JSCRIPT.NET. C# est largement une « copie » de Java. VB.NET et JSCRIPT.NET sont des extensions de Visual basic et Jscript pour la plate-forme .NET. Celle-ci rend disponible  aux programmes qui s’exécutent en son sein un ensemble très important de classes, classes très proches de celles que l’on trouve au  sein des machines virtuelles Java. En première approximation, on peut dire que la plate-forme .NET est un environnement  d’exécution analogue à une machine virtuelle Java. On peut noter cependant deux différences importantes :
• la plate-forme .NET ne s’exécute que sur les machines Windows alors que Java s’exécute sur différents OS (windows,unix, macintosh).
• la plate-forme .NET permet l’exécution de programmes écrits en différents langages. Il suffit que le compilateur de ceux-ci sache produire du code IL (Intermediate Language), code exécuté par la machine virtuelle .NET. Toutes les classes de .NET sont disponibles aux langages compatibles .NET ce qui tend à gommer les différences entre langages dans la mesure où les programmes utilisent largement ces classes. Le choix d’un langage .NET devient affaire de goût plus que de performances.

1. Les bases du langage C#

1.1 Introduction
Nous traitons C# d’abord comme un langage de programmation classique. Nous aborderons les objets ultérieurement. Dans un programme on trouve deux choses
– des données
– les instructions qui les manipulent
On s’efforce généralement de séparer les données des instructions :
+——————–+
¦ DONNEES ¦
+——————–¦
¦ ¦
¦ INSTRUCTIONS ¦
¦ ¦
+——————–+

1.2 Les données de C#
C# utilise les types de données suivants:
1. les nombres entiers
2. les nombres réels
3. les nombres décimaux
4. les caractères et chaînes de caractères
5. les booléens
6. les objets

1.2.2 Conversion entre types simples et types objets
Dans le tableau ci-dessus, on découvre qu’il y a deux types possibles pour un entier sur 32 bits : intet Int32. Le type int est un type simple dont on ne manipule que la valeur. Int32est une classe. Un objet de ce type est complexe et possède des attributs et méthodes. C# est amené à faire des conversion implicites entre ces deux types. Ainsi si une fonction attend comme paramètre un objet de type Int32, on pourra lui passer une donnée de type int. Le compilateur fera implicitement la conversion int–>Int32. On appelle cela le « boxing » c.a.d. littéralement la mise en boîte d’une valeur dans un objet. L’inverse est également vrai. Là où une fonction attend une valeur de type int, on pourra lui passer une donnée de type Int32. La conversion se fera là encore automatiquement et s’appelle le « unboxing ». Les opérations implicites de boxing/unboxing se font sur les types suivants :
int Int32
long Int64
decimal Decimal
bool Boolean
char Char
byte Byte
float Float
double Double
enum Enum

1.2.4 Déclaration des données
1.2.4.1 Rôle des déclarations
Un programme manipule des données caractérisées par un nom et un type. Ces données sont stockées en mémoire. Au moment de la traduction du programme, le compilateur affecte à chaque donnée un emplacement en mémoire caractérisé par une adresse et une taille. Il le fait en s’aidant des déclarations faites par le programmeur.
Par ailleurs celles-ci permettent au compilateur de détecter des erreurs de programmation. Ainsi l’opération x=x*2; sera déclarée erronée si x est une chaîne de caractères par exemple..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Apprentissage du langage C (1974 KO) (Cours PDF)
Apprentissage du langage C

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *