Upload
fordlovers
View
198
Download
0
Embed Size (px)
Citation preview
Preacutesentation drsquoArticlesCours GEI 730- Conception par les
objets
Eacutetudiant Ramzi MaalejProfesseur Ruben Gonzalez-Rubio
Ramzi Maalej 2
Plan de la preacutesentation
bull laquo Using Metadata raquo eacutecris par Martin Fowler
bull laquo How Netrsquos Custom Attributes Affect Design raquo eacutecris par James Newkirk et Alexel A Vorontsov
bull laquo When to Make a Type raquo eacutecris par Martin Fowler
Ramzi Maalej 3
Using Metadatabull Ce sont des informations
qui deacutecrivent un contenu des objets concrets ou abstraits
bull Ce sont des laquo eacutetiquettes raquo qui permettent de retrouver des donneacutees
bull Les bibliotheacutecaires utilisent deacutejagrave les Meacuteta-donneacutees nom de lrsquoauteur titre etc
Ramzi Maalej 4
Using Metadata (19)
20015FiestaFord
20066Grande Punto
Fiat
20049PassatVolksWagen
20004206Peugeot
AnneacuteePuissanceTypeMarque
Ramzi Maalej 5
Using Metadata (29)
Voiture
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne new Voiture(m t p a)
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Algorithme de Lecture
bull Meacutethode intuitive
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 2
Plan de la preacutesentation
bull laquo Using Metadata raquo eacutecris par Martin Fowler
bull laquo How Netrsquos Custom Attributes Affect Design raquo eacutecris par James Newkirk et Alexel A Vorontsov
bull laquo When to Make a Type raquo eacutecris par Martin Fowler
Ramzi Maalej 3
Using Metadatabull Ce sont des informations
qui deacutecrivent un contenu des objets concrets ou abstraits
bull Ce sont des laquo eacutetiquettes raquo qui permettent de retrouver des donneacutees
bull Les bibliotheacutecaires utilisent deacutejagrave les Meacuteta-donneacutees nom de lrsquoauteur titre etc
Ramzi Maalej 4
Using Metadata (19)
20015FiestaFord
20066Grande Punto
Fiat
20049PassatVolksWagen
20004206Peugeot
AnneacuteePuissanceTypeMarque
Ramzi Maalej 5
Using Metadata (29)
Voiture
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne new Voiture(m t p a)
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Algorithme de Lecture
bull Meacutethode intuitive
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 3
Using Metadatabull Ce sont des informations
qui deacutecrivent un contenu des objets concrets ou abstraits
bull Ce sont des laquo eacutetiquettes raquo qui permettent de retrouver des donneacutees
bull Les bibliotheacutecaires utilisent deacutejagrave les Meacuteta-donneacutees nom de lrsquoauteur titre etc
Ramzi Maalej 4
Using Metadata (19)
20015FiestaFord
20066Grande Punto
Fiat
20049PassatVolksWagen
20004206Peugeot
AnneacuteePuissanceTypeMarque
Ramzi Maalej 5
Using Metadata (29)
Voiture
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne new Voiture(m t p a)
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Algorithme de Lecture
bull Meacutethode intuitive
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 4
Using Metadata (19)
20015FiestaFord
20066Grande Punto
Fiat
20049PassatVolksWagen
20004206Peugeot
AnneacuteePuissanceTypeMarque
Ramzi Maalej 5
Using Metadata (29)
Voiture
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne new Voiture(m t p a)
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Algorithme de Lecture
bull Meacutethode intuitive
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 5
Using Metadata (29)
Voiture
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne new Voiture(m t p a)
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Algorithme de Lecture
bull Meacutethode intuitive
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 6
Using Metadata (39)bull Avantages
ndash Facilendash Explicite
bull Inconveacutenientsndash Limiteacutee
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 7
Using Metadata (49)
Voituretxt
Lire Lrsquoentecircte Tant que (Non EOF) Lire_Ligne Pour chaque Hdr_elem
listajouter(hdr_elem value)
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2
1 2 3 n
Algorithme de Lecture
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 8
Using Metadata (59)bull Avantages
ndash Facilendash Geacuteneacuterique
bull Inconveacutenientsndash Implicite (Perte drsquoinformation)
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 9
Using Metadata (69)bull Meacutethode reacuteflective
Voiture
VoituretxtAlgorithme de Lecture
Marque Type Puissance Anneacutee nb_p Peugeot 206 4 2000 4Fiat Punto 6 2004 4Ford Fiesta 5 2001 2ObjetsVoiture
Personne hellip
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 10
Using Metadata (79)bull Avantages
ndash Geacuteneacuteriquendash Simple code
bull Inconveacutenientsndash Deacutependante du langage de deacuteveloppementndash Peut engendrer des conflitsndash Moins rapidendash Difficile a utiliser
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 11
Using Metadata (89)bull Geacuteneacuteration
Explicit Reader
VoituretxtAlgorithme de geacuteneacuteration
Marque Type Puissance AnneacuteePeugeot 206 4 2000Fiat Punto 6 2004Ford Fiesta 5 2001
Class Voiture String marque
Integer typeInteger puissance
Date annee
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 12
Using Metadata (99)bull Avantages
ndash Explicit Readerndash Rapide
bull Inconveacutenientsndash Le code peut ecirctre affecteacutendash Neacutecessite un suivi
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 13
How Netrsquos Custom Attributes Affect Design (16)
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 14
How Netrsquos Custom Attributes Affect Design (26)
bull Meacutecanismes drsquoutilisation des Meacuteta-donneacuteesndash Mots cleacutes (public static)ndash Interfaces marqueurs (Serializable hellip)ndash Patrons de nommages (readResolve hellip)ndash Attributs ([Serializable()] hellip)
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 15
How Netrsquos Custom Attributes Affect Design (36)
bull Exemple Eacutecrire le code drsquoun objet qui sera seacuterialiseacute pendant lrsquoexeacutecution
bull public class MaClasse implements Serializable
bull [Serializable()]
public class MaClasse
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 16
How Netrsquos Custom Attributes Affect Design (46)
bull public class MaClasse implements Serializable private void writeObject(ObjectInputStream s) throws
IOException hellip
bull [Serializable()]
public class MaClasse ISerializable public void GetObjectData(SerializationInfo info
StreamingContext context) hellip
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 17
How Netrsquos Custom Attributes Affect Design (56)
bull public class MaClasse extends TestCase public void testSuccess() hellip
bull [TestFixture]
public class MaClasse extends TestCase [Test]
public void Success() hellip
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 18
How Netrsquos Custom Attributes Affect Design (66)
bull ConclusionLes Attributs
bull Favorisent la deacutetection drsquoerreurs au moment de la compilation
bull Eacutetendent le langage de programmationbull Minimisent le code reacutepeacutetitif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 19
When to Make a Type (15)bull Qui est le responsable de la creacuteation des
types Lrsquoarchitecte Le concepteur
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 20
When to Make a Type (25)bull Pourquoi creacuteer les types
ndash Structurer les donneacutees ndash Faciliter la programmationndash Ameacuteliorer la communication
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 21
When to Make a Type (35)bull Public class App
public void static main (String[] args) String nomString preacutenomDate dateNaissancelire le nom de la personnehelliplire le prenom de la personnehelliplire la date de naissance de la personnehellip
traitementhellip
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 22
When to Make a Type (45)bull Public class Personne
private String nomprivate String prenomprivate Age age getter and setterhellip
bull Public class App
public void static main (String[] args) private Personne personne = new Personne()lire le nom de la personnepersonnesetNom(IOreadLine())lire le prenom de la personne personnesetPrenom(IOreadLine())lire l age de la personne personnesetAge(new Date(IOreadLine())) traitementif(ageget Years()gt60) traitement 1else traitement 2
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 23
When to Make a Type (55)bull Quand il faut creacuteer un type
[1]
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 24
Questions
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif
Ramzi Maalej 25
Reacutefeacuterencesbull [1]httpwww-sopinriafraxiscbrtoolsusermanual-engIconsCompositeGraphicgif