CER PROSIT IL JAVA FAM Nom du PROSIT => Le langage JAVA

CER PROSIT IL JAVA FAM
Nom du PROSIT =>
Le langage JAVA
Thème ou sujet du
Prosit
Familiarisation avec le langage Java
Auteur du CER
Desmaison Romain / Monceret Nicolas / 3eme année RIR
MOTS CLEFS / A DEFINIR
Les mots surlignés en bleu sont des mots clé et propre à Java.
Les mots surlignés en vert sont des commentaires dans le code Java.
Java :
Java est un langage objet ressemblant au langage C++. Il a été mis au point en 1991 par la firme Sun Microsystems. Il fut rebaptisé
Java en l'honneur de la boisson préférée des programmeurs, c'est-à-dire le café, dont une partie de la production provient de l'île
Java.
Java est très proche du langage C++ étant donné qu'il a quasiment la même syntaxe. Toutefois Java est plus simple que le langage
C++ bien qu'il s'en inspire, car les caractéristiques critiques du langage C++ (celles qui sont à l'origine des principales erreurs) ont
été supprimées. Cela comprend:
- Les pointeurs
- La surcharge d'opérateurs
- L'héritage multiple
- La libération de mémoire est transparente pour l'utilisateur (il n'est plus nécessaire de créer de destructeurs)
- Une meilleure gestion des erreurs
- Les chaînes et les tableaux sont désormais des objets faisant partie intégrante du langage
Toutefois Java est beaucoup moins rapide que le langage C++, il perd en rapidité ce qu'il gagne en portabilité...
Source :
http://www.commentcamarche.net/java/javaintro.php3
Pointeur :
Un pointeur est une variable contenant l'adresse d'une autre variable d'un type donné. La notion de pointeur fait souvent peur car il
s'agit d'une technique de programmation très puissante, permettant de définir des structures dynamiques, c'est-à-dire qui évoluent
au cours du temps (par opposition aux tableaux par exemple qui sont des structures de données statiques, dont la taille est figée à la
définition).
Intérêt :
- Ils permettent de manipuler de façon simple des données pouvant être importantes (au lieu de passer à une fonction un élément
très grand (en taille) on pourra par exemple lui fournir un pointeur vers cet élément...)
- Les tableaux ne permettent de stocker qu'un nombre fixé d'éléments de même type. En stockant des pointeurs dans les cases d'un
tableau, il sera possible de stocker des éléments de taille diverse, et même de rajouter des éléments au tableau en cours d'utilisation
(c'est la notion de tableau dynamique qui est très étroitement liée à celle de pointeur).
Source :
http://www.commentcamarche.net/c/cpoint.php3
Héritage Multiple :
Il permet de créer des classes dérivées à partir de plusieurs classes de base.
L'héritage multiple provoque, de nos jours (1999), une réaction de plus en plus timide : on trouve cela "dangereux", "risqué", voir
même "preuve d'une mauvaise modélisation"!...
Java a depuis longtemps tranché et en a purement et simplement interdit l'usage, lui préférant "l'implémentation d'interfaces
multiples".
Source :
http://membres.lycos.fr/dancel/cplusplus/cours/herit80.html et
http://dchaffiol.free.fr/info/langages/art_cpp_heritageMultiple_q.htm
Interpréteur :
En informatique, un interpréteur est un outil ayant pour tâche d'analyser, de traduire, et d'exécuter un programme écrit dans un
langage informatique. De tels langages sont dits langages interprétés.
Le cycle d'un interpréteur est le suivant:
- lire et analyser une instruction ;
- si l'instruction est syntaxiquement correcte, l'exécuter ;
- passer à l'instruction suivante.
Ainsi, contrairement au compilateur, l'interpréteur se charge aussi de l'exécution du programme, au fur et à mesure de son
interprétation. Du fait de cette phase d'interprétation, l'exécution d'un programme interprété est généralement plus lente que le
même programme compilé.
L'intérêt des langages interprétés réside principalement dans la facilité de programmation et dans la portabilité. Les langages
interprétés facilitent énormément la mise au point des programmes car ils évitent la phase de compilation, souvent longue, et
limitent les possibilités de bogues. Ils permettent ainsi le développement rapide d'applications ou de prototypes d'applications. La
portabilité permet d'écrire un programme unique, pouvant être exécuté sur différentes plateformes sans changements, s'il existe un
interpréteur spécifique à chaque plateforme matérielle.
Source :
http://fr.wikipedia.org/wiki/Interpr%C3%A9teur
JAVAC :
javac est un compilateur, c'est-à-dire qu'il transforme le code source en un langage intermédiaire (appelé pseudo-code ou
bytecode), un fichier binaire intermédiaire interprétable par la machine virtuelle sur n'importe quelle plate-forme.
Compilateur :
Dans le cadre du développement de logiciels, la compilation est une étape essentielle. Elle consiste à traduire un programme, écrit
dans un langage compréhensible par l'homme (Assembleur, C/C++, Pascal, COBOL, etc.), en un fichier codé en langage machine,
utilisable par le niveau le plus bas du système d'exploitation de la machine. Il en résulte un programme exécutable (les fichiers
portant l'extension ".exe" sous Windows par exemple).
Le compilateur utilisé pour obtenir un programme exécutable dépend à la fois du langage de programmation utilisé lors du
développement et de la plateforme sur laquelle le logiciel final doit être exécuté. En effet, un compilateur ne peut en général
traduire qu'un seul langage de programmation, et ne le traduire qu'en un langage machine dédié à une seule plateforme.
Le compilateur se charge également de la vérification de la syntaxe du programme de départ.
Source :
http://fr.wikipedia.org/wiki/Compilateur et
http://www.dicodunet.com/definitions/developpement/compilateur.htm
Constructeur :
Le constructeur est la fonction membre appelée automatiquement lors de la création d'un objet (en statique ou en dynamique).
Cette fonction membre est la première fonction membre à être exécutée, il s'agit donc d'une fonction permettant l'initialisation des
variables.
Le constructeur d'un objet porte le même nom que la classe et ne possède aucune valeur de retour (même pas void).
La définition de cette fonction membre spéciale n'est pas obligatoire (si vous ne souhaitez pas initialiser les données membres par
exemple) dans la mesure où un constructeur par défaut (appelé parfois constructeur sans argument) est défini par le
compilateur Java si la classe n'en possède pas. Pour instancier une classe, c'est-à-dire créer un objet à partir d'une classe, il s'agit
d'utiliser l'opérateur new.
En réalité l'opérateur new, lorsqu'il est utilisé, fait appel à la méthode constructeur de la classe.
Source :
http://java.developpez.com/cours/ et
http://www.commentcamarche.net/java/javaconst.php3
Accesseurs / Mutateurs :
L'un des aspects les plus essentiels du concept « orienté objet » est l'encapsulation, qui consiste à définir des étiquettes pour les
données membres et les fonctions membres afin de préciser si celles-ci sont accessibles à partir d'autres classes ou non...
De cette manière, des données membres portant l'étiquette private ne peuvent pas être manipulées directement par les fonctions
membres des autres classes. Ainsi, pour pouvoir manipuler ces données membres, le créateur de la classe doit prévoir des fonctions
membres spéciales portant l'étiquette public, permettant de manipuler ces données.
Les fonctions membres permettant d'accéder aux données membres sont appelées accesseurs (get ou getter en anglais).
Les fonctions membres permettant de modifier les données membres sont appelées mutateurs (set ou setter en anglais).
-Assesseur :
Un accesseur est une fonction membre permettant de récupérer le contenu d'une donnée membre protégée.
Déclaration :
class MaClasse{
private:
TypeDeMaVariable MaVariable;
public:
TypeDeMaVariable GetMaVariable();
};
TypeDeMaVariable MaClasse::GetMaVariable(){
return MaVariable;
}
-Mutateur :
Un mutateur est une fonction membre permettant de modifier le contenu d'une donnée membre protégée.
Déclaration :
class MaClasse{
private:
TypeDeMaVariable MaVariable;
public:
void SetMaVariable(TypeDeMaVariable);
};
MaClasse::SetMaVariable(TypeDeMaVariable MaValeur){
MaVariable = MaValeur;
}
Source :
http://www.commentcamarche.net/cpp/cppacces.php3
Instructions conditionnelles :
Les instructions conditionnelles permettent de poser une condition avant d'exécuter un bloc d'instructions.
Exemple :
Instruction avec condition « if » (si) :
if (journee == "matin")
System.out.println("C'est le matin !");
else if (journee == "après-midi")
System.out.println("C'est l'après-midi !");
else if (journee == "soirée")
System.out.println("C'est la soirée !");
else
System.out.println("C'est la nuit !");
Source :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursjava/instruction_condition.html
Instructions itératives :
Les boucles permettent de répéter des opérations jusqu'à ce qu'une ou plusieurs conditions soient réunies.
Le langage Java possède plusieurs structures itératives, ayant la même fonction mais possédant des caractéristiques différentes (les
boucles « for », « for each», « while » et « do while »).
Source :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursjava/instruction_boucle.html
Entrées/Sorties standards :
Dans la plupart des cas, toutes les applications informatiques doivent être en mesure d'assurer une certaine interactivité entre la
machine et un utilisateur. Les entrées provenant du clavier et les sorties affichées à l'écran fournissent un moyen de communication
standard.
Le champ in représente le flux d'entrée standard qui est toujours disponible et prêt à recevoir des données provenant en général
d'un clavier.
Le champ out représente le flux de sortie standard qui est également toujours disponible et prêt à envoyer des données vers en
général un écran d'ordinateur (dans notre programme, on peut voir que les sortie sur l’écran sont fait avec la commande
« System.out.println(« bonjour » ) ».
Source :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursjava/entree_sortie_standard.html
Discriminant :
Notion de mathématique. Pour faciliter la résolution d’une équation du second degrés, f(x) = ax2 + bx + c, on propose de factoriser
pour aboutir au discriminant Δ. Soit Δ = b^2 − 4ac.
Source :
http://fr.wikipedia.org/wiki/%C3%89quation_du_second_degr%C3%A9_(math%C3%A9matiques_%C3%A9l%C3%A9mentaires)
Comprendre le système de l’allocation mémoire
Java s'occupe de la gestion automatique de l'allocation dynamique de la mémoire. Une zone mémoire est dynamiquement allouée à
un objet lors de sa création.
Classe Variable_objet = new Classe();
//Variable_objet représente une instance dynamique de la classe Classe()
Lorsque cette zone mémoire n'est plus référencée par un objet du programme, elle est automatiquement libérée par le GC (Le
système de Garbage Collector, collecteur de détritus en français) :
Variable_objet = null;
//Variable_objet ne référence plus d'instance de classe
Plusieurs objets distincts d'un programme occupent un espace mémoire plus ou moins important sur un système informatique, en
sachant que les ressources mémoires sont certainement limitées.
Un usage incontrôlé de la mémoire risque à terme de provoquer des conflits de ressources tels que :
- une libération intempestive d'une zone allouée (donc utilisée par un objet),
- une indisponibilité d'une zone désallouée (donc libérée par un objet).
Le système GC interdit l'utilisation d'une ressource déjà utilisée et évite dans la mesure du possible, les pertes de mémoires.
Source :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursjava/gc_memoire.html
Déclaration des classes en Java
Déclaration de la classe :
Pour pouvoir manipuler des objets, il est essentiel de définir des classes, c'est-à-dire définir la structure d'un objet. Cette définition
avec Java se fait de la manière suivante:
Modificateur class Nom_de_la_classe {
// Instructions permettant de définir la classe;
}
Nom_de_la_classe représente bien évidemment le type d'objet désigné par la classe ou du moins le nom que vous leur attribuez.
Modificateur peuvent avoir des propriétés différentes :
- abstract : la classe contient une ou des méthodes abstraites, qui n'ont pas de définition explicite.
- final : la classe ne peut pas être modifiée, sa redéfinition grâce à l'héritage est interdite. Les classes déclarées final ne
peuvent donc pas avoir de classes filles.
- private : la classe n'est accessible qu'à partir du fichier où elle est définie.
- public : La classe est accessible partout.
Déclaration des attributs (données membres) de la classe :
Les données membres sont des variables stockées au sein d'une classe. Elles doivent être précédées de leur type et (éventuellement)
d'une étiquette précisant leur portée, c'est-à-dire les classes ayant le droit d'y accéder.
Ces étiquettes sont au nombre de trois:
- public : tous le monde y a accès.
- protected : l’attribut ne peut être invoquée que par des méthodes de la classe ou de ses sous classes (classes filles).
- private : c’est le plus haut niveau de sécurité, seul la classe elle-même y a accès.
Déclaration des méthodes (fonctions membres) de la classe :
Les méthodes représentent les traitements qu'il est possible de réaliser avec les objets instanciés de la classe. On parle généralement
de méthodes (parfois fonctions membres) pour désigner ces traitements.
Voici la syntaxe de définition des méthodes:
class Nom_de_la_classe {
// Instructions permettant de définir les données membres de la classe;
...;
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !