WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'une application de gestion de stock dans une entreprise privée cas de Sesomo.

( Télécharger le fichier original )
par Harris KATETE
Intitut supérieur de commerce de Lubumbashi RDC - Licence 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.5.3. Programmation

Le WLangage est un langage de programmation procédurale qui permet la programmation impérative et la programmation orientée objet. C'est en fait un langage de programmation multi-paradigme.

Le WLangage contient des fonctions de haut niveau, telle que la fonction EcranVersFichier, qui effectue les affectations du contenu des champs d'une fenêtre vers des tables stockées dans un fichier ou des variables, auxquelles les champs ont été préalablement reliés (databinding).

A) Typage

Le WLangage autorise une utilisation souple du typage. Les variables doivent être typées mais les paramètres formels des procédures ou les itérateurs de boucles peuvent ne pas l'être. Il est ainsi possible dans un même projet de combiner des procédures avec typage strict pour profiter de la rigueur du typage statique et des procédures sans typage pour profiter de la souplesse du typage dynamique et du duck typing.

B) Orientation Objet

Le WLangage permet l'utilisation de classes et inclut entre autres :

· l' encapsulation (public, protégé, privé) ;

· la composition de classes ;

· l'association de classes ;

· l' héritage multiple ;

· l' abstraction et le polymorphisme.

Limitation importante : il est impossible de créer des classes qui hériteraient des éléments graphiques de base (appelés champs dans la terminologie WinDev). En fait, ces champs ne peuvent pas être instanciés ni manipulés comme des objets: il n'y a pas la possibilité d'ajouter par programmation un champ à un écran vierge autrement que par copie d'un champ déjà existant (clonage) ou via des API.

C) Gestion des Instances

L'allocation des instances est toujours dynamique, que la variable objet soit une variable locale, une variable globale, un membre de classe ou que l'instance soit créée par l'ordre allouer (new si on code en anglais). Une variable ou un membre objet manipule en fait une référence sur l'instance. Lorsqu'une instance est créée, son constructeur est exécuté.

La gestion des instances se fait par comptage de références, c'est-à-dire que chaque instance possède un compteur du nombre de variables ou de membres qui la manipulent. Lorsque plus aucune variable ou membre ne manipule une instance, son compteur de références arrive à 0, son destructeur est exécuté et l'instance est libérée. Dans la grande majorité des cas, il n'est donc pas nécessaire de se préoccuper de la libération des instances allouées, quelle que soit la méthode d'allocation. Cette technique permet l'exécution du destructeur lorsqu'une instance n'est plus utilisée, ce qui permet de libérer rapidement les ressources utilisées par l'instance (socket, fichier, ...). Dans le cas de références circulaires entre instances, il est nécessaire de forcer la libération d'une instance du cycle par l'ordre libérer (delete si on code en anglais) pour libérer les autres instances du cycle.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams