Академический Документы
Профессиональный Документы
Культура Документы
70-536 Chapitre 1
Plan
Mohamed Romdhani
INSAT, Octobre 2007 2
M. Romdhani, Septembre 2007
Bibliothè
Bibliothèque de classes du .NET Framework
COM+
Message
(transactions, partitions, IIS WMI
Queuing
regroupement des connexions)
connexions)
Win32
Chargeur de classes
1
Chapitre 1- Introduction aux technologies J2EE
l'utilisateur et des types valeur intégrés Builtin value Types avec les alias C#
Types entiers
System.SByte (sbyte)
System.Byte(byte)
Types
Types valeur
valeur System.Int16 (short)
System.Int32 (int)
System.UInt32 (uint)
System.Int64 (long)
Définis
Définis par
par Types réels
Types
Types intégrés
intégrés System.Single (float)
l'utilisateur
l'utilisateur System.Double (double)
System.Decimal (decimal)
Exemples de types Exemples de types
valeur intégrés : valeur définis par Type caractère
l'utilisateur : System.Char (char)
int
float enum Type boolean
System.Boolean (Boolean/bool)
struct
Autres types
System.IntPtr (none) : Platform-dependentN/APointer to a memory
addressSystem.
DateTime (date)
M. Romdhani, Septembre 2007 9 M. Romdhani, Septembre 2007 10
2
Chapitre 1- Introduction aux technologies J2EE
c1 ••
2.3
2.3 7.6
7.6
c2 ••
•• 1.0
1.0 2.0
2.0
coordinate
coordinate c1=
c1= new
new coordinate(
coordinate( );
);
Différent coordinate
coordinate c2;
c2;
c1.x
c1.x == 2.3;
2.3; c1.y
c1.y == 7.6;
7.6;
•• 1.0 2.0 c2
c2 == c1;
1.0 2.0 c1;
Console.WriteLine(c1.x
Console.WriteLine(c1.x ++ "" ,, "" ++ c1.y);
c1.y);
Console.WriteLine(c2.x
Console.WriteLine(c2.x ++ "" ,, "" ++ c2.y);
c2.y);
M. Romdhani, Septembre 2007 15 M. Romdhani, Septembre 2007 16
3
Chapitre 1- Introduction aux technologies J2EE
Exceptions are unexpected events that interrupt normal execution of Syntaxe de dérivation de classe à partir d'une classe de base
an assembly.
class Token
Token
class Token
Token
Exemple {{ Classe
Classeddérivée
érivé
rivée Classe
Classede
debase
base «« concret
concret »»
// C#
...
...
StreamReader sr = new StreamReader("text.txt");
try { }}
Console.WriteLine(sr.ReadToEnd()); class
class CommentToken:
CommentToken: Token Token CommentToken
CommentToken
} {{
catch (Exception ex) { «« concret
concret »»
...
... Deux-
Deux -points
Deux-points
// If there are any problems reading the file, display an error message
Console.WriteLine("Error reading file: " + ex.Message); }}
}
finally { Une classe dérivée hérite de la plupart des éléments de sa
// Close the StreamReader, whether or not an exception occurred classe de base
sr.Close();
} Une classe dérivée ne peut pas être plus accessible que sa
classe de base
class
class Token
Token
{{ class
class Token
Token
protected {{
protected Token(string
Token(string name)
name) {{ ....
.... }} ...
...
... ...
}} public
public int
int LineNumber(
LineNumber( ))
class {{ ...
...
class CommentToken:
CommentToken: Token
Token }}
{{
public public
public virtual
virtual string
string Name(
Name( ))
public CommentToken(string name)
CommentToken(string name) :: base(name)
base(name) {{ }} {{ ...
...
... ...
}} }}
}}
4
Chapitre 1- Introduction aux technologies J2EE
Syntaxe : Utiliser le mot clé interface pour déclarer une interface Une classe peut implémenter zéro ou plusieurs interfaces
interface
interface IToken
IToken IToken
IToken IVisitable
IVisitable
{{
string «« interface
interface »» «« interface
interface »»
Le string Name(
Name( );
);
Lenom
nomdes
desinterfaces
interfacesdoit
doit }}
doit
doitcommencer
commencerpar
parlalamajuscule
majuscule««II»» interface IVisitable
interface IVisitable
{{
void
void Accept(IVisitor
Accept(IVisitor v);
v);
}}
interface
interface IToken
IToken class
IToken
IToken class Token:
Token: IToken,
IToken, IVisitable
IVisitable Token
Token
{{ {{ ...
...
«« interface
interface »» }} «« concret
concret »»
int
int LineNumber( );
LineNumber( );
string LineNumber(
LineNumber( ))
string Name(
Name( );
);
}} Name(
Name( ))
Une interface peut étendre zéro ou plusieurs interfaces
Une classe peut être plus accessible que ses interfaces de base
Absence
Absencededespé
sp écificateur
spécificateur Absence
Absencededecorps
corps
d'accè
d'accès de
Une interface ne peut pas être plus accessible que ses interfaces
d'accès demméthode
éthode
de base
Une classe doit implémenter toutes les méthodes d'interface
héritées
M. Romdhani, Septembre 2007 25 M. Romdhani, Septembre 2007 26
5
Chapitre 1- Introduction aux technologies J2EE
Un délégué permet d'appeler une méthode indirectement Pour appeler un délégué, utilisez la syntaxe
Il contient une référence à une méthode
d'une méthode
Toutes les méthodes appelées par le même délégué doivent
avoir des paramètres et une valeur de retour identiques Aucun
Aucun corps
corps
de
de méthode
méthode
public
public delegate
delegate void
void StartPumpCallback(
StartPumpCallback( );
);
...
...
StartPumpCallback
StartPumpCallback callback;
callback;
Method1() ...
...
DoWork() { callback
callback == new
new
{ ¬StartPumpCallback(ed1.StartElectricPumpRunning);
¬StartPumpCallback(ed1.StartElectricPumpRunning);
Délégué
Délégué ...
?
...
...
... de } callback(
de callback( );
);
MethodX(); Aucun
Aucun appel
appel ici
ici
MethodX
MethodX
... Method2()
} { Appel
Appel ici
ici
...
}
M. Romdhani, Septembre 2007 31 M. Romdhani, Septembre 2007 32
Abonné
Fournit une méthode à appeler lorsque l'événement Abonnement à un événement
est déclenché
PneumaticPumpDriver
PneumaticPumpDriver pd1
pd1 == new
new PneumaticPumpDriver(
PneumaticPumpDriver( );
);
...
...
CoreOverheating
CoreOverheating +=
+= new
new StartPumpCallback(pd1.SwitchOn);
StartPumpCallback(pd1.SwitchOn);
public
public void
void SwitchOnAllPumps(
SwitchOnAllPumps( )) {{
if
if (CoreOverheating
(CoreOverheating !=
!= null)
null) {{
CoreOverheating(
CoreOverheating( );
);
}}
}}
Les attributs sont : Syntaxe : utilisez des crochets pour spécifier un attribut
des balises déclaratives qui transmettent
des informations au runtime ;
[attribut(paramètres_positionnels,paramètre_nommé=valeur,
[attribut(paramètres_positionnels,paramètre_nommé=valeur, ...)]
...)]
stockés avec les métadonnées de l'élément associé. élément
élément
6
Chapitre 1- Introduction aux technologies J2EE