Types des méthodes

Visibilité des méthodes en Java

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

L'univers de la programmation orientée objet se ressemble d'un langage à un autre. Cependant, quelques différences subtiles existent entre son implémentation en PHP et en Java. L'une des différences repose sur le plus grand choix des signatures des méthodes dans ce deuxième langage.

En PHP orienté objet on peut déclarer une méthode publique (public), privée (private), protégée (protected), statique (static), finale (final) ou abstraite (abstract). Pareil on Java. On l'a déjà présenté dans un article consacré à la portée des variables et des méthodes en Java. Ici on va donc se concentrer plus sur d'autres signatures, non abordées dans l'article précédent et absentes en PHP.

Les types des méthodes en Java

On distingue donc les types (signatures) des méthodes suivants :
- public : publique, accessible depuis l'extérieur de la classe
- private : privée, n'est accessible qu'à l'intérieur d'une classe et ne peut pas être héritée
- protected : protégée, n'est accessible qu'à l'intérieur d'une classe et peut être héritée
- static : statique, permet d'être appelée sans passer par l'initialisation explicite de l'objet d'une classe.
- final : finale, la méthode est alors déclarée comme finale. Aucune classe ne peut la surcharger ou la cacher.
- abstract : abstraite, utilisée quand l'implémentation d'une méthode est inconnue ou imprécise. Toutes les classes qui héritent d'une classe abstraite possédant des méthodes abstraites, doivent définir leurs propres implémentations.
- native : native, c'est une méthode qui trouve son implémentation dans un autre langage que Java. Comment implémenter une méthode native ? Voici un exemple qui affichera un texte sur l'écran : http://www.javaworld.com/javatips/jw-javatip23.html
- strictfp : stricte, garantit que la machine virtuelle de Java (JVM) va retourner les mêmes résultats des calculs arithmétiques sur les chiffres flotantes (float). Ces calculs utilisent les règles du mode appelé strict floating-point. Le mode non stricte est plus laxiste et ne garantit pas l'utilisation des mêmes règles en fonction de la version de JVM.

La distinction entre ces deux modes a été introduite dans la version 1.2. Pour tout le code d'avant, le seul mode disponible était strict. Ceci s'explique par l'application des standards IEEE aux calculs.

Ce mot clé ne s'applique pas à un attribut. Il trouve son utilité uniquement dans les méthodes et les classés.
- synchronized : synchronisée, signature utilisée pour gérer les problèmes liés à des applications multi threading en Java.

Une question ? Une remarque ?

*

*

Moi

Développeur d'applications Internet et journaliste passionné par l'adjectif français. Un aigle polonais orienté vers la progression, volant très haut et écoutant du zouk après les matches du foot français.

Vous appréciez mon travail ?

Pour contribuer au développement de ce site, ou pour remercier pour des articles rédigés, vous pouvez faire un don.

Un conseil Symfony2

Comment importer les routes ?

Parfois on a besoin de partager les routes en fonction de différents environnements (prod, dev / frontend, backend). Symfony2 gère ces cas très facilement. Pour pouvoir partager les routes il suffit tout simplement d'extraire les routes communes et de les importer par la suite. Dans notre exemple on a besoin de partager les routes qui définissent les requêtes AJAX. Pour ce faire, on va les sauvegarder dans le fichier routingAjax.yml, placé dans un bundle qui s'appelle RequestsAjaxBundle/Resource/config/routingAjax.yml. Alors, pour l'utiliser dans le fichier pour des routes de backend, il suffit de l'importer dans l'endroit voulu, comme ici :

# Ajax actions
ajaxRoutes:
    resource: "@RequestsAjaxBundle/Resources/config/routingAjax.yml"