jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !
Offre d'emploi : Développeur .NET/Java en start-up innovante (H/F)
| Page 1 2 Suivante | ||||||||||||||||||||||||||||||||
| Auteur | Message | |||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 visiteurs sur ce sujet (2 anonymes) | ||||||||||||||||||||||||||||||||
| Page 1 2 Suivante | ||||||||||||||||||||||||||||||||
willard
|
# Posté le 28/10/2010 à 19:27:14 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
FAQ Java(Le langage le plus utilisé dans le monde)Vous en avez marre des questions qui reviennent chaque fois , vous n'arrivez jamais à retrouver un sujet similaire à votre problème , vous avez très souvent la flemme de répondre à un problème parce qu'il faut écrire tout un roman , ce sujet est fait pour vous.Il regroupe les questions que les zéros ont posées et reposées dans le forum Java. Vous pouvez dès à présent rediriger tous les zéros qui ont des problèmes dont les solutions se trouvent ici. En plus cette FAQ est organisée en catégories et facilité donc la recherche. Mais attention pour le bien de ce topic il y'a des règles à respecter (Les remarques seront postés dans le topic de remarque). Les règles
Java to Standard Edition (J2SE)
Java to Entreprise Edition (J2EE)
</liste> Java to Mobile Edition (J2ME)Java et Android
Édité
le 18/03/2011 à 19:28:27
par willard
|
|||||||||||||||||||||||||||||||
| Publicité | # Posté le 28/10/2010 à 19:27:14 | |||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
willard
|
# Posté le 30/10/2010 à 13:25:23 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
C++ et Java : Pointeurs et ReférencesAuteur : QuentinC 2 Sujets associés : Topic On considère que, en java, quand on déclare une variable d'un type objet (donc non primitif), on déclare en fait automatiquement un pointeur. Comme si on avait: typedef Classe* Classe; Notons bien qu'en java, on ne parle jamais de pointeur, mais de référence. Partant de cette affirmation, on retrouve de nombreux points communs faciles à expliquer :
|
|||||||||||||||||||||||||||||||
SpaceFox
|
# Posté le 31/10/2010 à 12:47:20 Message supprimé pour le motif suivant : Message complètement hors sujet. | |||||||||||||||||||||||||||||||
paraze
|
# Posté le 31/10/2010 à 19:21:26 Message supprimé pour le motif suivant : Message complètement hors sujet. | |||||||||||||||||||||||||||||||
willard
|
# Posté le 31/10/2010 à 20:50:17 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Comment creer un jar executable ?Sujet associé : Topic A partir du dossier dans lequel se trouve vos fichiers .class tapez la commande suivante : Code : Console
MonApp.jar: Votre jar executable ClassePrincipale: La classe dans laquelle se trouve le main fichierX : classes du projet |
|||||||||||||||||||||||||||||||
Draewil
|
# Posté le 01/11/2010 à 00:58:27 | |||||||||||||||||||||||||||||||
|
Қαεζ ₪
|
Comment configurer le PATH ?Sous Windows SevenOuvrez le Panneau de Configuration. Ensuite, direction Système et Sécurité > Système > Paramètres Système Avancée. Dans la fenêtre qui vient de s'ouvrir, cliquez sur le bouton "Variable d'Environnement". Vous devriez avoir quelque chose comme ceci : ![]() Recherchez (comme sur le screen), la ligne "Path" puis cliquez sur "Editer", vous y voilà ! Sous UNIX (Debian ?)Il n'est normalement pas nécessaire d'effectuer cette manipulation après avoir installer Java. Selon votre shell, vous devez éditer un fichier "maître", par exemple, pour Bash, vous devez éditez ~/.bashrc Plusieurs choix s'offrent à vous :
Un exemple concret: Ajout des binaires du jdk au PATHSous Windows XP/Vista/SevenAprès avoir cliquer, ajoutez un ";" suivi du chemin vers le dossier bin de votre jdk/jre. (Exemple: C:\Program Files\Java\jdk1.6.0_21) Vous devriez arriver à avoir quelque chose comme : "C:\Python\bin;C:\mingw\bin;C:\Program Files\Java\jdk1.6.0_21\bin" Mais n'oubliez surtout pas le ";" avant le chemin vers le dossier voulu ! Appliquez, - redémarrez - (relancer l'application suffit généralement.) et voilà votre PATH modifié en règle ! Sous UNIX (Debian ?Même chose que pour Windows à l'exception que le séparateur n'est plus un point-virgule (;) mais un double-point (:). Ainsi, pour la même configuration, on obtiendrait : "/usr/bin:~/bin:/path/to/java"
Édité
le 01/11/2010 à 00:59:20
par Draewil
Loin d'être un expert, et possédant un esprit tordu, désolé de tous mes (futurs) hors sujets. De plus, fiez-vous en priorité aux habitués, je n'utilise certains langages qu'occasionnellement. Une fois votre problème réglé, n'oubliez pas de mettre le sujet en résolu ! ![]() |
|||||||||||||||||||||||||||||||
willard
|
# Posté le 01/11/2010 à 06:56:49 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Comment découper une chaîne de caractère avec split() ?La méthode split() permet de découper une chaine de caractère en renseignant le(s) séparateurs désirés. La méhode prend en paramètre une chaine de caractère qui désigne une expression régulière. Exemple 1Code : Java
En sortie, on obtiendrait [Jean, Robert, Marc, Luc, Pierre] Exemple 2Code : Java
En sortie, on obtiendrait [Jean, Robert, Marc, Luc, Pierre] |
|||||||||||||||||||||||||||||||
planete.game57
|
# Posté le 02/11/2010 à 16:32:11 Message supprimé pour le motif suivant : Message complètement hors sujet. | |||||||||||||||||||||||||||||||
willard
|
# Posté le 03/11/2010 à 19:00:13 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Qu'est ce qu'une List ?Une List en Java peut-être interprétée comme un tableau dynamique, c'est a dire, un ensemble ordonné d'éléments du même type, dont le nombre d'éléments peut varier. En java on distingue 2 types de List, il s'agit des ArrayList et des LinkedList. Elles implémentent toutes deux l'interface List. Les ArrayList est basée sur un tableau en interne, alors qu'une LinkedList est basée sur une liste chainée. Ce qui implique donc que les ArrayList sont plus efficaces pour l'accès aux données que les LinkedList, mais les LinkedList sont optimisées pour les opérations d'ajout et suppression sur la liste. |
|||||||||||||||||||||||||||||||
neowillow
|
# Posté le 03/11/2010 à 19:29:20 | |||||||||||||||||||||||||||||||
(/◔ ◡ ◔)/![]() Groupe : Anciens
|
Java et JavaScript : c'est pareil ?Ces deux langages sont radicalement différents ! N'allez pas confondre Java et Javascript car ce sont deux langages qui n'ont clairement pas le même fonctionnement.
Nous constatons donc que ce sont bien deux langages différents. Cependant, étant tous les deux des langages dérivés du C, leur syntaxe est relativement proche. Mais la source de l'erreur réside dans le nom trompeur, et certains utilisateurs ont tendance à abréger le JavaScript, Java. Une erreur à ne plus faire donc ! De plus, le langage Java est un langage de programmation qui se montre beaucoup plus complexe que le JavaScript (notions d'objet, de classes, de threads, d'héritage, etc.). Note : certains passages proviennent d'une réponse écrite par QuentinC 2, merci à lui ! #LGDF: victor vaincra ! « Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi » Statistiques mondiales en temps réel. - FAQ C - The C LRG - FAQ Java - Python - OCaml - quoi.info - La France vue par différentes populations |
|||||||||||||||||||||||||||||||
willard
|
# Posté le 03/11/2010 à 20:00:05 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Comment charger une List ?En considérant notre classe personne dont voici le code Code : Java
Charger une ArraylistCode : Java
Charger une linkedListCode : Java
|
|||||||||||||||||||||||||||||||
Draewil
|
# Posté le 04/11/2010 à 18:52:05 | |||||||||||||||||||||||||||||||
|
Қαεζ ₪
|
Qu'est-ce qu'une Map ?Une Map en Java est l'équivalent des tableaux dynamiques fonctionnant sur le principe de clé-valeur. Ainsi, à une clé unique de la Map, on associe une valeur. Java implémente plusieurs types de Map :
En fonction de vos besoins, vous devrez donc vous orienter vers telle ou telle type de Map. La documentation répondra à vos questions. Comment charger une HashMap ?En considérant la classe Acheteur: Code : Java
Nous allons, par exemple, créer un tableau associant un id (de maison, ou autres: peut importe.) à un acheteur : Code : Java
Comment utiliser un objet de type Map ?Pour une utilisation minimal d'un Objet de type Map, trois fonctions sont à connaitre :
L'ajout d'ObjetCode : Java
Attention à bien respecter les types indiqués ou vous aurez des erreurs à la compilation ! Ainsi, ne faites surtout pas des codes tel que : Code : Java
La Suppression d'un ObjetCode : Java
Cependant, pour éviter certaines exceptions, il est préférable de vérifier que le clé existe avant de supprimer une entrée : Code : Java
La récupération d'une valeurCode : Java
Si on observe la ligne 5, on voit un cast vers un Integer. En effet, Map.get(); retourne un Object, il est donc préférable de le cast explicitement pour pouvoir utiliser les fonctions associées: essayer sans, votre IDE ne sera pas trop content. ![]() Pour plus d'explications: Secret (cliquez pour afficher) En réalité, lors de l'instanciation d'un objet implémentant Map, List ou autres, il n'est pas obligé de déclarer les types contenant dans le tableau. Code : Java
On observe que selon la clé, on obtient un type quelconque. Ce comportement est donc à risque, vous aurez d'ailleurs des warnings à la compilation. En effet, dès lors que votre programme va devoir gérer un tel système dynamiquement (On fournit une clé, on attend une valeur), un type non-prévu peut arriver et compromettre la stabilité de votre programme. Comment parcourir une Map ?Contrairement aux List, il n'est pas directement possible de parcourir une Map avec une boucle étendue for. Nous avons alors deux méthodes: (En supposant que nous avons un clé de type String, une valeur de type Integer)
Édité
le 04/11/2010 à 19:45:01
par Draewil
Loin d'être un expert, et possédant un esprit tordu, désolé de tous mes (futurs) hors sujets. De plus, fiez-vous en priorité aux habitués, je n'utilise certains langages qu'occasionnellement. Une fois votre problème réglé, n'oubliez pas de mettre le sujet en résolu ! ![]() |
|||||||||||||||||||||||||||||||
willard
|
# Posté le 06/11/2010 à 23:01:23 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Comment lire un fichier texte ?En java on peut lire un fichier texte de deux façon : BufferedReaderCode : Java
Scanner |
|||||||||||||||||||||||||||||||
Draewil
|
# Posté le 06/11/2010 à 23:09:47 | |||||||||||||||||||||||||||||||
|
Қαεζ ₪
|
En cours de rédaction Qu'est-ce qu'un Thread ?DéfinitionEn informatique, un thread peut correspondre à un sous-processus. En effet, un processus possède son propre environnement, une seule ligne de conduite : un thread. Du à cet unique thread, vous avez du remarqué que votre programme n’exécute les commandes qu'une à une. Cet unique thread diffère du processus lui-même, contrairement à celui-ci, le thread peut partager les données avec tous les autres threads: ce que les processus ne font pas entre eux. Lorsque le processus possède plusieurs threads, il pourra alors exécuter les commandes par intermittence. Il exécute A, puis B, puis relègue A, puis de nouveau B, etc. Chacun des threads possède un statut qui lui est propre. L'avantage du thread, dit "processus léger" est qu'il d'intégrer la notion de parallélisme. Mais l'inconvénient est qu'il amène l'accès concurrent aux données partagées: point sensible à ne pas négliger, source de beaucoup d'erreur. Pour vulgariser, on peut le considérer comme un processus dans le processus: vous pouvez lancer plusieurs programmes, mais si un des programmes utilise un fichier, vous ne pourrez pas le supprimer par exemple. Création d'un ThreadEn java, il y a deux manières de créer un Thread :
Comment gérer un Thread ?Comment démarrer un Thread ?Une fois qu'un Thread est crée, il suffit de le lancer avec Thread.start(); Comment arrêter un Thread ?Pour arrêter un Thread, il ne faut pas utiliser la fonction Thread.stop(); ! En effet, celle-ci étant dépréciée, elle est donc instable et provoque un comportement inattendue. Pour se faire, il faudra alors le thread dans une boucle qui permettra, ou non, de le faire continuer. Code : Java
Édité
le 17/11/2010 à 21:21:27
par Draewil
Loin d'être un expert, et possédant un esprit tordu, désolé de tous mes (futurs) hors sujets. De plus, fiez-vous en priorité aux habitués, je n'utilise certains langages qu'occasionnellement. Une fois votre problème réglé, n'oubliez pas de mettre le sujet en résolu ! ![]() |
|||||||||||||||||||||||||||||||
willard
|
# Posté le 06/11/2010 à 23:53:50 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Comment écrire dans un fichier texte ?Pour ecrire dans un fichier texte, on peut passer par un Printwriter, comme le montre le code ci-dessous: Code : Java
Édité
le 20/12/2010 à 16:16:29
par willard
|
|||||||||||||||||||||||||||||||
kiko0
|
# Posté le 07/11/2010 à 08:49:19 | |||||||||||||||||||||||||||||||
![]()
Études : Paris 6 - Université Pierre et Marie Curie (Jussieu) |
Comment sérialiser un objet ?Sérialiser un objet permet de sauvegarder cet objet (on parle de persistance) et non simplement des valeurs. On crée un objet Etudiant qui implémente l'interface Sérializable. En implémentant cette dernière, on spécifie que l'objet en question peut être sérialisé. Code : Java
On crée un main de test. Celui-ci écrit deux étudiants, puis les lit et appelle les accesseurs des étudiants lus dans le fichier. Code : Java
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 08/11/2010 à 18:10:25 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Faire une capture d'écran en JavaUne capture d'écran en Java est réalisée grâce à la classe Robot. Cette classe permet de prendre des capture d'écran sous 3 formes: Capture de l'écran entierCode : Java
Capture de la fenêtreCode : Java
Capture d'une zone sélectionnéeCode : Java
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 13/11/2010 à 18:23:12 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Création d'un serveur d'échoIl s'agit d'un serveur qui se charge de renvoyer à un client le message que ce dernier a transmis au serveur. C'est la raison pour laquelle on parle d'écho. Notons ici que le serveur ne peux pas communiquer avec plus d'un client simultanément. Pour réaliser celà il faut rajouter la notion de multithread. Code : Java
|
|||||||||||||||||||||||||||||||
Syrion75
|
# Posté le 14/11/2010 à 19:13:44 | |||||||||||||||||||||||||||||||
|
|
Comment parcourir une List ?Afin de parcourir une List nous avons trois solutions. La première solution consiste à utiliser la méthode size et get: Code : Java
La deuxième solution consiste à utiliser un objet Iterator: Code : Java
La dernière solution consiste à utiliser une boucle foreach: Code : Java
Édité
le 15/11/2010 à 20:49:21
par Syrion75
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 15/11/2010 à 19:44:22 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Création d'un client d'échoUn client d'écho permet de se connecter a un serveur d'écho tel que décrit dans cette section. Code : Java
Execution : Code : Console
|
|||||||||||||||||||||||||||||||
Syrion75
|
# Posté le 15/11/2010 à 20:45:05 | |||||||||||||||||||||||||||||||
|
|
Le design pattern observer ?Le design pattern Observer permet de définir une dépendances entre un objet (L'observé) et plusieurs autres objets (Les observateurs). Quand l'observé change d'état, il va notifier les observateurs. En Java, nous disposons de d'une classe et d'une interface permettants de mettre en place le design pattern Observer.
Exemple Swing: Code : Java
Édité
le 16/11/2010 à 21:20:53
par Syrion75
|
|||||||||||||||||||||||||||||||
Syrion75
|
# Posté le 16/11/2010 à 21:20:02 | |||||||||||||||||||||||||||||||
|
|
Qu'est ce qu'un Set ?Un Set est une collection (tableau dynamique), comme la List, qui n'accepte pas les doublons. Il est donc impossible d'avoir deux fois la même instance d'une classe (o1.equals(o2) est impossible). Vous pouvez utiliser trois types de Set en Java, HashSet, LinkedHashSet et le TreeSet.
Ces trois collections ne sont pas synchronisées. Il est donc impossible d'itérer et modifier ces Collection en même temps. Pour remédier au problème vous pouvez appeler la méthode statique: Code : Java
qui permet de récupérer votre Set avec l'ensemble des méthodes synchronisées. Pour avoir des informations complémentaire je vous invite à consulter la javadoc. Comment charger un Set ?Nous allons utiliser la classe suivante pour notre démonstration: Code : Java
Pourquoi un Set fonctionne ? Pourquoi n'avons nous jamais la même valeur dedans ? Au moment de l'opération add, le Set va récupérer l'ensemble des objets, qu'il stocke, ayant le même hashCode. Puis, sur les objets restant, il va comparer les objets en appelant la méthode equals. Si, pour l'un des objets restant, la méthode equals retourne vrai alors le nouvel objet ne sera pas inséré. Pour utiliser un HashSet: Code : Java
Pour utiliser un LinkedHashSet: Code : Java
Pour finir, une petite démonstration du TreeSet avec un Comparator: Code : Java
Édité
le 16/11/2010 à 21:22:48
par Syrion75
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 17/11/2010 à 10:37:40 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Executer une requête d'interrogation (SELECT)Les requêtes SQL de type "SELECT" permettent d'intorroger une base de donnée et de retourner un ensemble d'enregistrements. Considérons la table pays suivante.
On veut trouver la liste des pays d'europe. Méthode 1Code : Java
On obtient donc le résultat suivant : Code : Console
|
|||||||||||||||||||||||||||||||
Syrion75
|
# Posté le 17/11/2010 à 21:17:43 | |||||||||||||||||||||||||||||||
|
|
Comment parcourir un SetPour la démonstration: «comment parcourir un Set» nous allons utiliser la classe suivante: Code : Java
En Java, nous avons deux solutions. La première est basée sur l'utilisation d'un Iterator (elle est compatible avec toutes les versions du JDK): Code : Java
Si vous avez une version Java >= 1.5 vous pouvez utiliser une boucle foreach: Code : Java
Édité
le 17/11/2010 à 21:19:19
par Syrion75
|
|||||||||||||||||||||||||||||||
Syrion75
|
# Posté le 18/11/2010 à 21:17:48 | |||||||||||||||||||||||||||||||
|
|
SingletonAvant de parler de Singleton, un design pattern, je vous propose une petite introduction. Un design pattern ! Pour faire quoi ?Un design pattern, ou patron de conception, permet de résoudre des problématiques:
De manière globale les design patterns peuvent être classifiés en trois catégories:Création, Comportement et Struture Pourquoi utiliser SingletonLe pattern Singleton permet de n'avoir qu'une seul instance d'un objet en mémoire et d'avoir un point d'accès unique. Ce pattern est utilise, par exemple, pour les Factory. Démonstration environnement mono-threadNotre classe Singleton: Code : Java
classe Main: Code : Java
Démonstration environnement multi-threadNotre classe Singleton: Code : Java
classe Main: Code : Java
Édité
le 18/11/2010 à 21:19:28
par Syrion75
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 19/11/2010 à 13:34:21 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Executer une requête de modification (INSERT, UPDATE, DELETE )Les requêtes SQL de type INSERT, UPDATE ou DELETE permettent d'inserer, modifier ou supprimer des données dans une base de donnée. Considérons la table pays suivante.
InsertionCode : Java
On obtient donc le résultat suivant : Code : Console
Et notre table finale contient :
|
|||||||||||||||||||||||||||||||
mdr1
|
# Posté le 05/03/2011 à 08:57:59 | |||||||||||||||||||||||||||||||
你好吗?我很好!![]()
|
Les méthodes statiques et non statiquesDe nombreuses personnes font l'erreur d'appeler une méthode non-statique... sans l'associer à une instance (objet) de la classe. Par exemple : Code : Java
La méthode aff() est dite non statique car, pour fonctionner, elle doit être associée à une instance de la classe lui permettant d'accéder à ses attributs. Il faut donc faire : Code : Java
Elle va donc pouvoir accéder à l'attribut de "instance" qui est ici "variable". Il est cependant possible de déclarer des méthodes en tant que statiques (comme il est d'ailleurs fait pour "main") en ajoutant le mot-clef static. La méthode ne sera ainsi pas appliquée à une instance de la classe mais ne pourra par conséquent pas accéder à ses champs. Pour appeler la méthode, il faut alors remplacer le nom de l'objet par le nom de la classe (comme il est fait pour afficher du texte avec System.out.print où System est en fait le nom d'une classe). Code : Java
Les seules variables auxquelles les méthodes statiques d'une classe peut accéder sont les attributs déclarés en tant que statiques. Voici une déclaration d'une variable en tant que statique : private static int variable2 ; La méthode pourra y accéder car un seul exemplaire de cette variable sera présente. Elle restera la même également lors de l'appel de méthodes non statiques. Voici un petit exemple : Code : Java
À chaque fois que le constructeur sera appelé et donc qu'un nouvel objet sera instancié, le compteur sera incrémenté, car il est le même quelque soit l'instance et peut par conséquent n'es être associé à aucune. Petit exemple qui utilise cette classe : Code : Java
Code : Console
Conclusion : il faut toujours spécifier le nom de l'instance lors de l'appel d'une méthode non statique, et quand la méthode est statique, il faut tout de même spécifier le nom de la classe qui la contient.
Édité
le 22/04/2012 à 15:52:06
par mdr1
|
|||||||||||||||||||||||||||||||
willard
|
# Posté le 05/03/2011 à 14:32:47 | |||||||||||||||||||||||||||||||
La mouette au dessus de tout![]()
|
Les AppletsUne applet est un petit programme Java destiné à être téléchargé et exécuté par le navigateur de l’internaute. Tout programme Java destiné à être exécuté au sein d’un navigateur dérive nécessairement de la classe java.applet. PrincipeLa classe Applet implémente plusieurs méthodes. Les principales sont les méthodes init() , start(), stop() et destroy(). La méthode « init() » est la première méthode appelée une fois l’applet chargée par le navigateur. C’est dans cette fonction que les opérations d’initialisation doivent être effectuées. La méthode « start() » est exécutée à la suite de la fonction « init() » et chaque fois que l’applet apparaît à l’écran. La méthode « stop() » est exécutée chaque fois que l’applet disparaît. C’est par exemple le cas lorsque l’utilisateur réduit la fenêtre de son navigateur. La méthode « destroy() » est exécutée lorsque les ressources utilisées par l’applet doivent être libérées. C’est par exemple le cas lorsque l’utilisateur ferme son navigateur. Avant d’exécuter cette fonction, la méthode « stop()» est systématiquement exécutée. ExempleVoici un applet qui permet d'afficher "Hello world" sur un navigateur. Code : Java
Création de la page HtmlL’intégration d’une applet dans une page web se fait, par la balise « Applet » grâce au code suivant : Code : HTML
Notons que la classe java et le fichier Html doivent être stockés dans le répertoire, ou sinon il faut utiliser les chemins relatifs pour retrouver la page Html |
|||||||||||||||||||||||||||||||
mdr1
|
# Posté le 07/03/2011 à 16:53:31 | |||||||||||||||||||||||||||||||
你好吗?我很好!![]()
|
L'encapsulation ou comment protéger les données d'une classePour montrer comment encapsuler les données d'objets d'une classe, nous allons travailler sur deux classes, dont l'une définie un point et l'autre une ligne (qui a donc besoin de la première classe). Deux solutions s'offrent alors : soit vous désirez qu'une ligne se construise à partir de deux points déjà instanciés, soit vous voulez que les coordonnées des points qui constituent la ligne ne soient modifiables qu'à travers la classe Line. Construisons tout d'abord notre classe Point avant de s'attaquer aux deux méthodes : Code : Java
Vous pouvez déjà remarquer les lignes 7 et 8 : les champs x et y sont privés, et par conséquent, l'utilisateur de la classe ne peut y accéder. Ceci est un principe de l'encapsulation, car on ne va laisser à l'utilisateur accéder à ces champs uniquement par le biais de méthodes : Code : Java
Le gros avantage de cette façon de faire, c'est que l'utilisateur n'aura pas besoin de changer la façon dont il utilise notre classe si nous modifions par exemple le nom des champs, ou encore que nous voulons ajouter les coordonnées polaires qui s'obtiendront par des calculs, et de même pour les modifier. Le code se montrera ainsi très compréhensible et n'aura pas besoin d'être modifié en cas de changement de fonctionnement de la classe. Allez, on se fait l'ajout des coordonnées polaires (pour ceux qui connaissent) : Code : Java
L'utilisateur peut donc sans problème récupérer ou modifier les coordonnées cartésiennes ou polaires sans avoir à se compliquer avec les champs. On passe à notre problème de la classe Line. Les coordonnées sont modifiables à partir de la classe PointNous allons construire notre classe Line en acceptant pour arguments dans le constructeur deux variables de type Point ; elle ne dérivera en aucun cas de Point : Code : Java
Ajoutons une méthode qui permette d'obtenir la longueur de la ligne : Code : Java
Utilisons donc cette classe : Code : Java
Il est donc aisé se modifier les coordonnées des points sans passer par la classe Line. Ceci constitue une première méthode qui permet d'accéder facilement aux propriétés de l'objet. Les points ne sont accessible qu'à partir de la classe LineCette deuxième méthode permet de donner des restrictions quand à l'usage des points. Ainsi, même si les champs de la classe Point étaient publiques, ils se montreraient inaccessibles lorsqu'ils sont utilisés par la classe Line. Il suffit pour cela de faire que ce soit la classe Line qui instancie les deux points : Code : Java
Les deux points seront donc inclus dans la classe Line à la place d'être utilisés. Il n'y a plus qu'à créer les nouveaux points et à ajouter des méthodes : Code : Java
Quel pourrait être un avantage des restrictions ainsi données ? Par exemple de donner des valeurs maximums et minimums pour les coordonnées des points. Nous allons ainsi changer quelque peu la méthode setCoords et Line afin de n'accepter que les valeurs comprises entre 0 et 5000 : Code : Java
Vous pouvez désormais choisir l'une ou l'autre des méthodes selon vos besoins, en sachant que la première méthode est préférable car plus souple lorsque vous n'avez pas besoin d'imposer de restrictions. Je vous conseille de toujours mettre les champs de vos classes en tant que privées pour bien encapsuler vos données, rendre le code plus clair et l'utilisation des classes plus simples. |
|||||||||||||||||||||||||||||||
kiko0
|
# Posté le 13/03/2011 à 09:16:01 | |||||||||||||||||||||||||||||||
![]()
Études : Paris 6 - Université Pierre et Marie Curie (Jussieu) |
Exécuter une procédure stockéeAvec JDBC il existe trois manières différentes d'effectuer des actions sur une base de données.
Pour se permettre l'utilisation de CallableStatement, la connaissance du langage procédural des bases de données est obligatoire, à moins que celles-ci soient déjà en base. Le CallableStatement va effectuer une requête SQL correspondant à l'appel d'une procédure stockée et ainsi renvoyer le résultat, ou effectuer l'opération adéquate. Exemple :Imaginons la table SQL suivante : Code : SQL
Et la procédure stockée permettant de renvoyer une ligne dans la table : Code : SQL
La classe Connect se connecte à une base de données MySQL, exécute la procédure stockée décrite précédemment, et affiche le résultat de cette-dernière. Code : Java
Javadoc : CallableStatement |
|||||||||||||||||||||||||||||||
Retour au forum "Langage Java" ou à la liste des forums
