"> ">

La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Schema Beans. Langage temperature Schema temperature <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=”temperature" xmlns="temperature"

Présentations similaires


Présentation au sujet: "Schema Beans. Langage temperature Schema temperature <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=”temperature" xmlns="temperature""— Transcription de la présentation:

1 Schema Beans

2 Langage temperature

3 Schema temperature <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=”temperature" xmlns="temperature" elementFormDefault="qualified">

4 Document instance XML <temperature xmlns='temperature' xmlns:xsi='http://www.w3.org/2001/XMLSchema- instance' xsi:schemaLocation='temperature temperature.xsd'> 3 12

5 Une classe, tout comme un schéma est un modèle A partir d’une classe, on peut créer des objets instance, tout comme à partir d’un schéma on peut créer des documents instance Classes

6 Structure d’une classe Champs Constructeur Méthodes Une classe Temperature doit se trouver dans un fichier de nom Temperature.java

7 Classes Champs Méthodes Le constructeur est une méthode servant à créer des objets à partir du modèle. Le nom du constructeur est celui de la classe new

8 Objets Conformes au modèle décrit dans la classe Offrent les méthodes décrites dans la classe Ont les champs décrits dans la classe

9 Programme Java JVM Main new Démarrage du programme par “java Main”. Java désigne la machine virtuelle

10 Nous allons voir 3 formes de classes équivalentes au schéma temperature Champs public avec accés direct Champs privés avec accés par méthodes get/set: Méthodes déclarées localement Méthodes publiées dans une interface Classes Java

11 Champs public avec accés direct

12 Classe Temperature public class Temperature { //champs public int min; public int max; //constructeur public Temperature { } } Champs public: accés direct aux valeurs

13 Utilisation public class Main { public Main() { } public static void main(String args[]) { Temperature t = new Temperature(); t.min = 6 ; t.max = 22 ; double m = (t.min + t.max)/2.0; } accés direct aux valeurs utilisation du constructeur

14 Champs privés avec accés par méthodes get/set méthodes déclarées localement

15 get/set | get sert à retirer une copie de la valeur | set sert à déposer une valeur (effacement de l’ancienne) get/set sont des méthodes permettant l’accés aux champs losrque ceux-ci ne sont pas public

16 Bean Temperature public class Temperature { //champs private int min; private int max; //constructeur public Temperature { } //methodes d’acces public int getMin() { return min; } public int getMax() { return max; } //methodes de mutation public void setMin(int m) {min=m;} public void setMax(int m) {max=m;} } Une bean est une classe qui a des méthodes set/get d’accés aux champs

17 Utilisation public class Main { public Main() { } public static void main(String args[]) { Temperature t = new Temperature(); t.setMin(6) ; t.setMax(22) ; double m = (t.getMin() + t.getMax())/2.0; }

18 Champs privés avec accés par méthodes get/set méthodes publiées dans une interface

19 Interfaces | Une interface est un contrat | Une interface est un engagement de fournir les méthodes dont la liste se trouve dans le contrat

20 Interface Temperature public interface Temperature { //methodes d’acces public int getMin(); public int getMax(); //methodes de mutation public void setMin(int m); public void setMax(int m); } Les interfaces sont des contrats entre un producteur de classes et un utilisateur de classes

21 Bean TemperatureImpl public class TemperatureImpl implements Temperature { private int min; private int max; public TemperatureImpl() { } //méthodes d’accés public int getMin() { return min; } public int getMax() { return max; } //méthodes de mutation public void setMin(int m) { min = m; } public void setMax(int m) { max = m; } } Contratrempli

22 Utilisation public class Main { public Main() { } public static void main(String args[]) { Temperature t = new TemperatureImpl(); t.setMin(6) ; t.setMax(22) ; double m = (t.getMin() + t.getMax())/2.0; } Seule modification

23 Interfaces Evolution dans le temps Changement de l’implementation sans remise en cause du code client Masquage d’une implémentation Modularité une classe peut implémenter plusieurs interfaces

24 Beans & UML

25 Beans: get/set Les beans sont des classes Java particulières Containeurs de données Accés aux données par des méthodes de nom getNomDeLaDonnée Modification des valeurs par des méthodes de nom setNomDeLaDonnée

26 Représentation UML - pour private + pour public Cas d’une “bean” sans interface

27 Représentation UML - pour private + pour public Cas d’une “bean” avec interface

28 Equivalence Types simples xsd:string java.lang.String xsd:integer java.math.BigInteger xsd:int int xsd.long long xsd:short short xsd:decimal java.math.BigDecimal xsd:float float xsd:doubledouble xsd:boolean boolean xsd:byte byte xsd:QName javax.xml.namespace.QName xsd:dateTime java.util.Calendar xsd:base64Binary byte[] xsd:hexBinarybyte[] xsd:unsignedIn long xsd:unsignedShort int xsd:unsignedByte short xsd:time java.util.Date xsd:date java.util.Date xsd:anySimpleType java.lang.String Des types simples xsd deviennent des types complexes Java Le nom d’un type complex Java (classe) commence toujours par une majuscule

29 Documents & Objets new documents Objets

30 Document instance XML <temperature xmlns='temperature' xmlns:xsi='http://www.w3.org/2001/XMLSchema- instance' xsi:schemaLocation='temperature temperature.xsd'> 3 12

31 Création directe par new Création indirecte par une fabrique d’objets Création d’un objet

32 Création directe public class Main { public Main() { } public static void main(String args[]) { Temperature t = new Temperature(); t.min = 6 ; t.max = 22 ; double m = (t.min + t.max)/2.0; }

33 Pattern ObjectFactory public class Main { public static void main(String[] args) { Temperature t = ObjectFactory.createTemperature(); t.setMin(3) ; t.setMax(34) ; } }// end class

34 Programme Java JVM Main ObjectFactory new Démarrage du programme par “java Main”. Java désigne la machine virtuelle Temperature


Télécharger ppt "Schema Beans. Langage temperature Schema temperature <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace=”temperature" xmlns="temperature""

Présentations similaires


Annonces Google