0% ont trouvé ce document utile (0 vote)
43 vues30 pages

Chapitre 2

Ce document présente le langage de programmation Dart, en détaillant ses caractéristiques, sa structure, et ses fonctionnalités essentielles. Il aborde également des concepts de programmation orientée objet, la gestion des bibliothèques et les structures de contrôle. Enfin, il fournit des exemples pratiques et des instructions pour télécharger et installer Dart.

Transféré par

tounsiableda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
43 vues30 pages

Chapitre 2

Ce document présente le langage de programmation Dart, en détaillant ses caractéristiques, sa structure, et ses fonctionnalités essentielles. Il aborde également des concepts de programmation orientée objet, la gestion des bibliothèques et les structures de contrôle. Enfin, il fournit des exemples pratiques et des instructions pour télécharger et installer Dart.

Transféré par

tounsiableda
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Module: Atelier Mobile Cross-plateforme Réalisé par:

Mohamed Ben Jazia

INTRODUCTION
AU LANGAGE
DART

Version 03 – Septembre 2023 [Link]@[Link]


OBJECTIF

ed
am
DÉCOUVRIR LE LANGAGE “DART”

oh
M
PREREQUIS

a
zi
Ja
en
POO , C, JAVA, PHP , JAVASCRIPT
B

Réalisé par: Mohamed Ben Jazia Version 03 Septembre 2023 2


Plan

ed
am
oh
I. Présentation du langage

M
II. Notion élémentaire DART

a
zi
Ja
en
B
I. PRÉSENTATION DU LANGAGE DART

ed
am
CARTE D’IDENTITÉ

oh
DATE DE SORTIE :10 octobre 2011

M
AUTEUR :Lars Bak & Kasper Lund

a
DÉVELOPPEUR :

zi
DERNIÈRE VERSION : 28 AOÛT 2024, 3.5.2

Ja
en
B

4 Site Officiel & documentation : [Link]


I. PRÉSENTATION DU LANGAGE DART
[Link]éristiques:

ed
• Open source.

am
• Simple, facile à prendre en main : ( C, Java, C#,
Javascript,)

oh
• Dart est un langage orienté Web
• Hot reload !!

M
• Langage orienté Objet
• Il peut s'exécuter :

a
zi

Dans une Machine Virtuelle (VM): on parle de code natif

Ja

Côté client (sur le navigateur): compilé en JS

Coté serveur.
en
• Utiliser pour le développement mobile natif:

Android, IOS, Windows Phone
B

• Multi plateforme: Windows Desktop, Linux desktop & Web


• Utilisé pour le prototypage des applications mobiles
5
• Extension des fichiers .dart
I. PRÉSENTATION DU LANGAGE DART
2. Téléchargement & Installation:

ed
• Téléchargeable depuis : [Link]

am
oh
M
a
zi
Ja
en
B

6
II. LE LANGAGE DART
1. La structure d’un Programme dart :

ed
am
oh
M
a
zi
IDE :
Ja
en
B

7
II. LE LANGAGE DART
2. Le Style de nommage des identificateurs:

ed
Dart supporte 3 modes de nommage: Pour tester vos codes source
1. UpperCamelCase: Classes, enum types, typedefs, Dart, vous pouvez utiliser le

am
2. lowerCamelCase: constant variables mode en ligne :
3. lowercase with undrscore :name libraries, packages, directories, [Link]

oh
import, and source files

M
a
zi
Ja
en
B

8
II. LE LANGAGE DART
3. Les commentaires • La documentation

ed
• // une seule ligne • /// documentation d’une fonction classe
• /*

am
un bloc de code
• */

oh
4. Les variables

M
• Dart est sensible à la casse : Age != age

a
• La déclaration d’une variable : var , dynamic, object

zi
Ja
• Chaque variable est considérée comme un objet Instancie de la classe
selon son type
en
B

• Le type de la variable sera détecté selon la valeur affectée

9
II. LE LANGAGE DART
4.1 Exemples de déclaration:

ed
am
oh
M
a
zi
Ja
en
B

10
II. LE LANGAGE DART
5. Sound NullSafety :

ed

Dart protége l’accès à une variable dont le contenu est Null.

am

Actif par défaut depuis la version dart 2.2

=> Toutes variables déclarées, doit être non null par défaut

oh
NullSafety introduit 3 contraintes :

M
a. Lors de la déclaration variable, paramètres etc :

a
Type nom_var ; le type interdit l’autorisation de la valeur null

zi
Type? nom_var ; Le type peut autorisé une valeur null

Ja
b. Toutes variables déclarée non Null doit contenir une valeur avant son utilisation.
en
c. On ne peut pas accéder aux propriétés ni appeler des méthodes
B

sur une expression avec un type nullable

11
II. LE LANGAGE DART
5. Sound NullSafety :

ed
am
oh
M
a
zi
Ja
en
B

12
II. LE LANGAGE DART
6. Les opérateurs :

ed
var exemple = 35;

am
oh
M
a
zi
Ja
en
B

13
II. LE LANGAGE DART
7. Le type numérique

ed
Déclarations des variables numériques :

am
• var nombre1 = 2;
• num nombre2 = 2; // => int
• num nombre3= -2.125 => double

oh
• int nombre4 = 2; // => int
• double nombre5=26.09 ; => // double

M
a
zi
Ja
Différence entre :
en
• Const: une variable dans la valeur est constante, et connu pendant la compilation
• Final: une variable dans le contenu est déterminé lors de l’exécution (valeur assignée une seule fois )
B

14
II. LE LANGAGE DART
[Link] chaînes de caractéres

ed
• Une valeur de type chaîne de caractères peut
être entourée par un simple ou double cote

am
Var message = ‘Bonjour ’;
String message=’’Bonjour’’ ;

oh
• Concaténation de deux chaînes:

M
• Var prenom=‘Ali’
• Var c = ‘$message $prenom’

a
zi
=> Lorsque on souhaite récupérer ou afficher le

Ja
contenu d’une variable, on la précède par le
caractère $
en
.toString()
• Conversion int/double to string:
B

• Conversion string to int: [Link](‘string’)


• Conversion string to double: [Link](‘string’)
15
II. LE LANGAGE DART
• Soit le code suivant :

ed
am
oh
M
a
• Soit le code suivant :

zi
Ja
en
B

16
II. LE LANGAGE DART
9. Les listes:

ed
• Les listes et les tableaux ont un type
équivalent : List.

am
oh
M
a
zi
Ja
Il est possible de la déclarer comme
suit :
en

List<int> notes ;

List<String> noms ;
B

17
II. LE LANGAGE DART
• 10. Les MAP :

ed
• Les tables de hachage sont représentées par
le type Map, il s'agit d'une associations clé ->

am
valeur.
• Les clés sont des chaînes de caractères

oh
(String), et la valeur peut être de n'importe
quelle type.

M
a
zi
Ja
en
B

18
II. LE LANGAGE DART
11. Les Structures de contrôles

ed
am
oh
M
a
zi
Ja
en
B

19
II. LE LANGAGE DART
11. Les Structures de contrôles

ed
am
oh
M
a
Il est possible d’utiliser la boucle For sans index

zi
Ja
en
B

20
II. LE LANGAGE DART
[Link] fonctions

ed
• Les fonctions ont une syntaxe de base

am
classique: elle sont composées:
• un nom de la fonction
• Un | des paramètre(s)

oh
• Contenu de la fonction
• un type de retour,

M
a
zi
• Une syntaxe plus courte pour définir une

Ja
fonction DART: en
B

21
II. LE LANGAGE DART
[Link] fonctions • Les paramètres optionnels(Facultatifs):

ed
• Dart Propose deux types des
• Les Fonction anonymes:
paramètres optionnels :
• Syntaxe:

am
• Les paramètres nommés: Les
paramètres optionnels nommés

oh
sont placés entre accolades ({ }) lors
de la déclaration de la fonction et

M
appelé par leurs noms.
• Exemple:

a
• Les paramètres positionnés: Les

zi
paramètres sont déclarés entre

Ja
en crochets ([ ]) .
B

22
II. LE LANGAGE DART
Les paramètres nommés : { …. }
• Un paramétre nommé :

ed
• Doit être utilisé par son nom.
• qui ne dispose pas d’une valeur par défaut , ou qui n’est précèdé par required est automatiquement définit avec un

am
type Nullable
• Un paramétres nommé peut être définit optionnel avec = valeur_par_defaut.

oh
M
a
zi
Ja
en
B

• NB :
23 Un paramétre required peut être nullable : required String ? adresse
II. LE LANGAGE DART
Les paramètres positionnés

ed
• Exemple fonction avec paramètres :

am
• Les paramétres d’une fonction sont basé sur les paramétres positionnés

Un paramétre positionné optionnel est spécifier avec le symbole [ .. ]

oh
M
a
zi
Ja
en
B

24
13 P.O.O:
Avec Dart, chaque Objet manipulé est une instance d’une classe.
Chaque classe, appart Null, hérite de la classe racine de dart : la classe Object

ed

Le fichier de définition d’une classe
dart, peut être enregistré avec

am
n’importe quel nom.

oh

Une classe dart peut avoir un unique

M
constructeur ou plusieurs
constructeurs nommés

a
zi
Ja
en
B

25
13 P.O.O:
Le Constructeur par défaut : Le Constructeur nommé

Etudiant() {

ed
[Link]=’’ ;
[Link]=’’ ; [Link](String v_nom, String v_prenom) {

am

} [Link]=v_nom;
[Link]=v_prenom ;
Etudiant(String v_nom, String v_prenom) {

oh

[Link]=’Master’ ;
[Link]=v_nom;
}
[Link]=v_prenom ;

M
} ●
[Link]({String v_nom=’’, String v_prenom}) {

a
[Link]=v_nom;

Etudiant ([Link], [Link]) ;

zi
[Link]=v_prenom ;

Etudiant({String v_nom=’’, String v_prenom}) {
[Link]=’ingénieur’ ;

Ja
[Link]=v_nom;
}
[Link]=v_prenom ;
}
en
Instanciation : Etudiant e1 = Etudiant ( … ) ;
B


Var e2 = new Etudiant ( … ) ;

Var e_master= new [Link](…) ;
26
13 P.O.O:
Les getters et setters :

Class Etudiant {
Un membre avec une porté private : doit précéder

ed

String _nom=’’ ;
String prenom=’’ ; par underscrore _

am
String get nom () { ●
La visibilité est limité uniquement à :
return this._nom ;

oh

Intérieur de la classe
} ●
Dans le même fichier courant !!

M

String get nom => this._nom ;

utilisation des getters sans parenthésés :
Set setnom(string vnom){ → int get age => this._age ;

a

this._nom=vnom ; Utilisation des setters avec parentéses :

zi

} → set age(int vAge) => this._age=vAge ;

Ja

Main(){

Appel :
[Link]=19 ;
en
Etudiant e= new Etudiant(..) ;
e._nom=’xx’ ; print([Link]) ;
B

[Link](‘yy’) ;
print(e._nom)
print([Link])
13.P.O.O:
1. Héritage: class fille extends mère

ed
2. Super
3. Redéfinition

am
oh
M
a
zi
Ja
en
B

28
[Link] des bibliothèques

ed
Syntaxe : import nom_package ;

am
Exemple :

Import dart:io ;
import 'package:lib1/[Link]'

oh


import 'package: lib1/[Link]' show foo, bar;

M
→ Importer uniquement foo and bar depuis

a
[Link].

zi
Ja

import 'package: mylib/[Link]' hide foo;

→ Importer toutes les fonctions à l’exception de


en
foo
B

29
THANK YOU !
Hope you like these first course :)

30 Made with by

Vous aimerez peut-être aussi