Dans le langage de programmation Java, le code source qui se trouve dans un fichier texte passe par une opération de compilation qui produit un fichier exécutable dont l'extension est .class.
En Java, une application est un objet. La classe est la description d'un objet. Un objet est une instance d'une classe. Pour chaque instance d'une classe, le code est le même, seules les données sont différentes à chaque objet.
Une classe est un modèle de définition pour des objets ayant le même ensemble d'attributs, et le même ensemble d'opérations. A partir d'une classe on peut créer un ou plusieurs objets par instanciation ; chaque objet est une instance d'une seule classe.
La classe : une classe est un ensemble de code contenant des variables et des fonctions permettant de créer des objets. Une classe peut contenir plusieurs objets. Les objets : un objet est un bloc de code mêlant des variables et des fonctions, appelées respectivement attributs et méthodes.
La notion de classe
On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc « issu » d'une classe, c'est le produit qui sort d'un moule.
Le principe est assez simple: le mot clé class est suivi du nom de la classe. Ensuite, on a entre accolades la déclaration des attributs et des méthodes de la classe.
Définition du polymorphisme
Le nom de polymorphisme vient du grec et signifie qui peut prendre plusieurs formes. Cette caractéristique est un des concepts essentiels de la programmation orientée objet. Alors que l'héritage concerne les classes (et leur hiérarchie), le polymorphisme est relatif aux méthodes des objets.
La POO permet de simplifier les informations dans la programmation. La programmation orientée objet se base sur le principe d'objets. Un objet est un ensemble de variables (appelées propriétés) et de fonctions (appelées méthodes). Cet ensemble décrit un concept unique et cohérent.
POO - Objet
La programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments d'une partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces entités informatiques sont appelées objets.
Chapitre 4 : La POO, niveau intermédiaire
2) Constructeurs : Un constructeur permet de construire un objet d'une classe. C'est une méthode qui n'est pas de type void, ne retourne aucune valeur et porte le même nom de la classe. Ainsi, les constructeurs d'une même classe ont tous le même nom de la classe.
Une méthode est une fonction faisant partie d'une classe. Elle permet d'effectuer des traitements sur (ou avec) les données membres.
L'encapsulation permet de définir des niveaux de visibilité des éléments de la classe. Ces niveaux de visibilité définissent les droits d'accès aux données selon que l'on y accède par une méthode de la classe elle-même, d'une classe héritière, ou bien d'une classe quelconque.
Java définit quatre niveaux d'accès pour les variables d'instances (données membres) et les méthodes : public : un élément public est accessible de partout et sans aucune restriction.
Une fonction membre déclarée static a la particularité de pouvoir être appelée sans devoir instancier la classe. Elle ne peut utiliser que des variables et des fonctions membres static elles aussi, c'est-à-dire qui ont une existence en dehors de toute instance.
En POO, on dit que l'on crée une instance de la classe Point . Une phrase emblématique de la POO consiste à dire qu”un objet est une instance de classe. Il faut bien noter que pour créer une instance, on utilise le nom de la classe suivi de parenthèses.
Une propriété est une valeur, un champ, dans un objet qui a ceci de spécifique qu'elle est observable : c'est-à-dire qu'elle émet des événements dès qu'elle est invalidée ou que sa valeur change. Ces événements peuvent être reçus par des observateurs qui ont placé un ou des écouteurs sur cette propriété.
L'idée principale à retenir ici est qu'un attribut de donnée ou une méthode est propre à un objet tandis qu'une variable ou une fonction est indépendante de tout objet. C'est la raison pour laquelle pour accéder à un attribut de données ou à une méthode on doit préciser le nom de l'objet qui souhaite y accéder avant.
La programmation orientée objet obéit à des principes. Les 4 principaux principes sont l'encapsulation, l'héritage, le polymorphisme et la généricité.
Ensemble des activités liées à la définition, l'écriture, la mise au point et l'exécution de programmes informatiques ; séquence des ordres auxquels doit obéir un dispositif.
Origine du nom Java
Le nom « Java » n'est pas un acronyme, il a été choisi lors d'un brainstorming en remplacement du nom d'origine « Oak », à cause d'un conflit avec une marque existante, parce que le café (« java » en argot américain) est la boisson favorite de nombreux programmeurs.
En programmation orientée objet (POO), une méthode est une routine membre d'une classe. Une méthode peut être: une méthode d'instance, n'agissant que sur un seul objet (instance de la classe) à la fois; une méthode statique ou méthode de classe, indépendante de toute instance de la classe (objet).
Les langages Java et C++ sont moins « purs » même si Java opérationnalise presque tous les concepts du paradigme objet. Quant au langage C, c'est le plus célèbre et le plus utilisé des langages qualifiés de « procéduraux ».
En Programmation Orientée Object (POO), la généricité est un concept permettant de définir des algorithmes (types de données et méthodes) identiques qui peuvent être utilisés sur de multiples types de données. Cela permet donc de réduire les quantités de codes à produire.
L'héritage est un mécanisme permettant de créer une nouvelle classe à partir d'une classe existante en lui proférant ses propriétés et ses méthodes. Ainsi, pour définir une nouvelle classe, il suffit de la faire hériter d'une classe existante et de lui ajouter de nouvelles propriétés/méthodes.
L'abstraction est l'un des concepts clés dans les langages de programmation orientée objet (POO). Son objectif principal est de gérer la complexité en masquant les détails inutiles à l'utilisateur.