Welcome to Our Website

Concepts OOPs en Java

Le système de programmation orienté objet(Oops) est un paradigme de programmation basé sur le concept d ‘ « objets” contenant des données et des méthodes. Le but principal de la programmation orientée objet est d’augmenter la flexibilité et la maintenabilité des programmes. La programmation orientée objet rassemble les données et leur comportement(méthodes) dans un seul emplacement(objet), ce qui facilite la compréhension du fonctionnement d’un programme. Nous couvrirons chaque caractéristique D’OOPs en détail afin que vous ne soyez pas confronté à une compréhension difficile des Concepts D’OOPs.,

Oups Concepts – Table des Matières

  1. qu’est Ce qu’un Objet
  2. qu’est Ce qu’une classe
  3. Constructeur en Java
  4. Programmation Orientée Objet Fonctionnalités
    • l’Abstraction
    • l’Encapsulation
    • Héritage
    • le Polymorphisme
  5. Classe Abstraite et Méthodes
  6. Interfaces en Java

qu’est Ce qu’un Objet


Objet: est un ensemble de données et de son comportement(souvent connu sous le nom de méthodes).

les Objets ont deux caractéristiques: Ils ont des états et des comportements.,

Exemples d’états et de comportements
Exemple 1:
Objet: Maison
État: l’Adresse, la Couleur, la Zone
le Comportement: Ouvrir la porte, fermer la porte

Donc si j’avais à écrire une classe basée sur des états et des comportements de la Maison. Je peux le faire comme ceci: les États peuvent être représentés comme des variables d’instance et les comportements comme des méthodes de la classe. Nous verrons comment créer des classes dans la section suivante de ce guide.

class House { String address; String color; double are; void openDoor() { //Write code here } void closeDoor() { //Write code here } ... ...}

Remarque: Comme nous l’avons vu ci-dessus, les états et les comportements d’un objet, peuvent être représentés par des variables et des méthodes dans la classe respectivement.,

caractéristiques des objets:

Si vous avez du mal à comprendre L’Abstraction et L’Encapsulation, ne vous inquiétez pas car j’ai couvert ces sujets en détail avec des exemples dans la section suivante de ce guide.

  1. Abstraction
  2. Encapsulation
  3. passage de Message

Abstraction: L’Abstraction est un processus dans lequel vous n’affichez que des données « pertinentes” et « masquez” les détails inutiles d’un objet de l’utilisateur.

Encapsulation: L’Encapsulation signifie simplement lier l’état de l’objet(champs) et le comportement(méthodes) ensemble. Si vous créez une classe, vous effectuez une encapsulation.,

passer un Message
Un seul objet par lui-même peut ne pas être très utile. Une application contient de nombreux objets. Un objet interagit avec un autre objet en invoquant des méthodes sur l’objet. Il est également appelé Invocation de méthode. Voir le schéma ci-dessous.

qu’est Ce qu’une Classe dans OOPs Concepts

Une classe peut être considérée comme un modèle à l’aide de laquelle vous pouvez créer autant d’objets que vous le souhaitez. Par exemple, nous avons ici une classe Website qui a deux membres de données (également appelés champs, variables d’instance et États d’objet)., Ceci est juste un plan, il ne représente aucun site Web, mais en utilisant cela, nous pouvons créer des objets de site Web (ou des instances) qui représentent les sites Web. Nous avons créé deux objets, tout en créant des objets, nous avons fourni des propriétés distinctes aux objets à l’aide du constructeur.

Résultat:

beginnersbook 5google 18

qu’est Ce qu’un Constructeur

Constructeur ressemble à une méthode, mais il est en fait pas une méthode. Son nom est le même que le nom de la classe et il ne renvoie aucune valeur., Vous devez avoir vu cette instruction dans presque tous les programmes que j’ai partagés ci-dessus:

MyClass obj = new MyClass();

Si vous regardez le côté droit de cette instruction, nous appelons le constructeur par défaut de la classe myClass pour créer un nouvel objet (ou instance).

Nous pouvons également avoir des paramètres dans le constructeur, ces constructeurs sont appelés constructeurs paramétrés.,

exemple de constructeur

Sortie:

Chaitanya 30Steve 56

fonctionnalités de Programmation Orientée Objet


ces quatre fonctionnalités sont les principaux Concepts OOPs que vous devez apprendre à comprendre la programmation orientée objet en Java

Abstraction

l’Abstraction est un processus dans lequel vous n’affichez que des données « pertinentes” et « masquez” les détails inutiles d’un objet à l’utilisateur., Par exemple, lorsque vous vous connectez à votre compte bancaire en ligne, vous entrez votre user_id et votre mot de passe et appuyez sur login, ce qui se passe lorsque vous appuyez sur login, comment les données d’entrée envoyées au serveur, comment elles sont vérifiées sont toutes abstraites Du vous. En savoir plus à ce sujet ici: Abstraction En Java.

Encapsulation

Encapsulation signifie simplement lier l’état de l’objet(champs) et le comportement(méthodes) ensemble. Si vous créez une classe, vous effectuez une encapsulation.,

exemple D’Encapsulation en Java

comment
1) rendre les variables d’instance privées afin qu’elles ne soient pas accessibles directement depuis l’extérieur de la classe. Vous ne pouvez définir et obtenir les valeurs de ces variables que via les méthodes de la classe.
2) Avoir des méthodes getter et setter dans la classe pour définir et obtenir les valeurs des champs.

Résultat:

No Of Employees: 5613

La classe EncapsulationExample c’est à l’aide de l’Objet de classe EmployeeCount ne sera pas en mesure d’obtenir la NoOfEmployees directement., C’est le setter et getter méthodes de la même classe pour définir et obtenir la valeur.
Alors, quel est l’avantage de l’encapsulation en programmation java
eh Bien, à un certain moment, si vous souhaitez modifier les détails d’implémentation de la classe EmployeeCount, vous pouvez librement faire sans affecter les classes qui l’utilisent.

Héritage

Le processus par lequel une classe acquiert les propriétés et les fonctionnalités d’une autre classe est appelé héritage., L’héritage fournit l’idée de réutilisabilité du code et chaque sous-classe ne définit que les fonctionnalités qui lui sont uniques, le reste des fonctionnalités peut être hérité de la classe parente.

  1. L’héritage est un processus de définition d’une nouvelle classe basée sur une classe existante en étendant ses membres et méthodes de données communs.
  2. l’Héritage permet de réutiliser du code, il améliore la réutilisabilité dans votre application java.
  3. La classe parente est appelée classe de base ou super classe. La classe enfant qui étend la classe de base est appelée classe dérivée ou sous-classe ou classe enfant.,

Remarque: Le plus grand avantage de L’héritage est que le code de la classe de base n’a pas besoin d’être réécrit dans la classe enfant.
Les variables et les méthodes de la classe de base peuvent également être utilisées dans la classe enfant.

syntaxe: héritage en Java

pour hériter d’une classe, nous utilisons le mot clé extends. Ici, la classe A est la classe enfant et la Classe B est la classe parent.

class A extends B{}

Exemple d’Héritage

Dans cet exemple, nous avons une classe parent Teacher et un enfant de la classe MathTeacher., Dans la classeMathTeacher, nous n’avons pas besoin d’écrire le même code qui est déjà présent dans la classe actuelle. Ici, nous avons le nom du collège, la désignation et la méthode does() qui est commune à tous les enseignants, donc la classe MathTeacher n’a pas besoin d’écrire ce code, les membres et méthodes de données communs peuvent hérités de la classe Teacher.,

sortie:

BeginnersbookTeacherMathsTeaching

Remarque: l’héritage multi-niveaux est autorisé en Java mais pas l’héritage multiple

types d’héritage:
héritage unique: fait référence à une relation de classe enfant et parent où une classe étend l’autre classe.

héritage multiniveau: fait référence à une relation de classe enfant et parent où une classe étend la classe enfant. Par exemple, la classe A étend la Classe B et la Classe B étend la classe C.,

héritage hiérarchique: fait référence à une relation de classe enfant et parent où plusieurs classes étendent la même classe. Par exemple, la Classe B étend la classe A et la Classe C étend la classe A.

héritage Multiple: fait référence au concept d’une classe étendant plus d’une classe, ce qui signifie qu’une classe enfant a deux classes parentes. Java ne prend pas en charge l’héritage multiple, en savoir plus à ce sujet ici.

La plupart des nouveaux langages OO comme Small Talk, Java, C# ne prennent pas en charge L’héritage Multiple. L’héritage Multiple est pris en charge en C++.,

le Polymorphisme

le Polymorphisme est une programmation orientée objet fonctionnalité qui nous permet d’effectuer une seule action de différentes manières. Par exemple, disons que nous avons une classe Animal qui a une méthode animalSound(), ici nous ne pouvons pas implémenter cette méthode car nous ne savons pas quelle classe animale étendrait Animal classe., Alors, nous faisons cette méthode abstraite comme ceci:

public abstract class Animal{ ... public abstract void animalSound();}

Maintenant, supposons que nous avons deux classes d’Animaux Dog et Lion qui s’étend Animal de classe. Nous pouvons y fournir les détails de mise en œuvre.

public class Lion extends Animal{... @Override public void animalSound(){ System.out.println("Roar"); }}

et

public class Dog extends Animal{... @Override public void animalSound(){ System.out.println("Woof"); }}

Comme vous pouvez le voir que, même si nous avons eu de l’action commune pour toutes les classes animalSound() mais il y a différentes façons de faire la même action., C’est un parfait exemple de polymorphisme (fonctionnalité qui nous permet d’effectuer une seule action de différentes façons).

Types de Polymorphisme
1) Polymorphisme Statique
2) Dynamique Polymorphisme

Polymorphisme Statique:

le Polymorphisme qui est résolu au cours de compilateur est appelé polymorphisme statique. La surcharge de la méthode peut être considérée comme un exemple de polymorphisme statique.
surcharge de méthode: cela nous permet d’avoir plus d’une méthode avec le même nom dans une classe qui diffère en signature.,

sortie:

aa 10

quand je dis la signature de méthode, Je ne parle pas du type de retour de la méthode, par exemple si deux méthodes ont le même nom, les mêmes paramètres et ont un type de retour différent, alors ce n’est pas Cela lancera une erreur de compilation.

polymorphisme dynamique

Il est également connu sous le nom de répartition de méthode dynamique. Le polymorphisme dynamique est un processus dans lequel un appel à une méthode remplacée est résolu au moment de l’exécution, c’est pourquoi il est appelé polymorphisme d’exécution.,

Exemple

Résultat:

Woof

Depuis deux classes, la classe enfant et parent de la classe ont la même méthode animalSound. Laquelle de la méthode sera appelée est déterminée à l’exécution par la JVM.

quelques exemples plus impérieux:

est-A & a des relations-A

Une voiture est-un véhicule et a-une licence alors le code ressemblerait à ceci:

public class Vehicle{ }public class Car extends Vehicle{ private License myCarLicense;}

classe abstraite et méthodes dans les Concepts OOPs

méthode abstraite:
1) une méthode déclarée mais non définie. Seule méthode signature pas de corps.,
2) déclaré en utilisant le mot clé abstrait
3) Exemple :

abstract public void playInstrument();

5) utilisé pour mettre une sorte de contrainte sur la classe qui hérite de la classe a des méthodes abstraites. La classe qui hérite doit fournir l’implémentation de toutes les méthodes abstraites de la classe parent sinon déclarer la sous-classe comme abstraite.
6) on ne peut pas être abstraite

  • les Constructeurs
  • méthodes Statiques
  • méthodes Privées
  • Méthodes qui sont déclarées « finale”

Classe Abstraite
Une classe abstraite décrit les méthodes, mais pas nécessairement implémente toutes les méthodes.,

abstract class A{ abstract void myMethod(); void anotherMethod(){ //Does something }}

Note 1: Il peut y avoir des scénarios où il est difficile d’implémenter toutes les méthodes de la classe de base. Dans de tels scénarios, on peut définir la classe de base comme une classe abstraite qui signifie que cette classe de base est un type spécial de classe qui n’est pas terminée sur son propre.

Une classe dérivée de la classe de base abstraite doit implémenter les méthodes qui ne sont pas implémentées(signifie qu’elles sont abstraites) dans la classe abstraite.

Note 2: La classe abstraite ne peut pas être instanciée, ce qui signifie que vous ne pouvez pas créer l’objet de la classe abstraite., Pour utiliser cette classe, vous devez créer une autre classe qui étend cette classe abstraite fournit l’implémentation de méthodes abstraites, puis vous pouvez utiliser l’objet de cette classe enfant pour appeler des méthodes de classe parent non abstraites ainsi que des méthodes implémentées(celles qui étaient abstraites dans parent mais implémentées dans la classe enfant).

Note 3: si un enfant n’implémente pas toutes les méthodes abstraites de la classe parent (la classe abstraite), alors la classe enfant doit être déclarée abstraite.,

exemple de classe et de méthodes abstraites

ici, nous avons une classe abstraite Animal qui a une méthode abstraite animalSound (), puisque le son animal diffère d’un animal à l’autre, il est inutile de donner l’implémentation à cette méthode car chaque classe enfant doit remplacer cette méthode pour donner ses propres détails d’implémentation. C’est pourquoi nous l’avons rendu abstrait.
maintenant, chaque animal doit avoir un son, en rendant cette méthode abstraite, nous avons rendu obligatoire à la classe enfant de donner des détails d’implémentation à cette méthode. De cette façon, nous nous assurons que chaque animal a un son.,

sortie:

Woof

Interfaces en Java

Une interface est un plan d’une classe, qui peut être déclarée en utilisant le mot-clé interface. Les Interfaces ne peuvent contenir que des constantes et des méthodes abstraites (méthodes avec seulement des signatures sans corps).Comme les classes abstraites, les Interfaces ne peuvent pas être instanciées, elles ne peuvent être implémentées que par des classes ou étendues par d’autres interfaces. L’Interface est un moyen courant d’obtenir une abstraction complète en Java.,

Remarque:

  1. Java ne prend pas en charge L’héritage Multiple, cependant une classe peut implémenter plusieurs interfaces
  2. L’Interface est similaire à une classe abstraite mais elle ne contient que des méthodes abstraites.,
  3. Les Interfaces sont créées en utilisant le mot-clé interface au lieu de la classe de mot-clé
  4. nous utilisons implements mot-clé lors de l’implémentation d’une interface(similaire à l’extension d’une classe avec le mot-clé extends)

interface: syntaxe

class ClassName extends Superclass implements Interface1, Interface2, ....

exemple D’Interface:

remarque:

  1. toutes les méthodes d’une interface sont implicitement publiques et abstraites. L’utilisation du mot clé abstract avant chaque méthode est facultative.
  2. Une interface peut contenir des variables finales.,
  3. Une classe ne peut étendre qu’une seule autre classe, mais elle peut implémenter n’importe quel nombre d’interfaces.
  4. Lorsqu’une classe implémente une interface, elle doit donner la définition de toutes les méthodes abstraites d’interface, sinon elle peut être déclarée comme classe abstraite
  5. Une référence d’interface peut pointer vers des objets de ses classes d’implémentation.

généralisation et spécialisation:
pour implémenter le concept d’héritage dans un OOPs, il faut d’abord identifier les similitudes entre les différentes classes afin de trouver la classe de base.,

ce processus d’identification des similitudes entre les différentes classes est appelé généralisation. La généralisation est le processus d’extraction de caractéristiques partagées à partir de deux classes ou plus, et de les combiner en une superclasse généralisée. Les caractéristiques partagées peuvent être des attributs ou des méthodes.

contrairement à la généralisation, la spécialisation signifie créer de nouvelles sous-classes à partir d’une classe existante. S’il s’avère que certains attributs ou méthodes ne s’appliquent qu’à certains objets de la classe, une sous-classe peut être créée.,

access Specifiers

Eh bien, vous devez avoir vu un mot-clé public et privé dans les exemples que j’ai partagés ci-dessus. Ils sont appelés spécificateurs d’accès car ils décident de la portée d’un membre de données, d’une méthode ou d’une classe.

Il existe quatre types de spécificateurs d’accès en java:
public: Accessible à tous. D’autres objets peuvent également accéder à cette variable ou fonction membre.
privé: non accessible par d’autres objets. Les membres privés ne sont accessibles que par les méthodes de la même classe. Objet accessible uniquement dans la classe dans laquelle ils sont déclarés.,
protected: la portée d’une variable protégée est dans la classe qui la déclare et dans la classe qui hérite de la classe (la portée est la classe et la sous-classe).
par défaut: la portée est au niveau du paquet. Nous n’avons pas besoin de mentionner explicitement default car lorsque nous ne mentionnons aucun spécificateur d’accès, il est considéré comme default.,

Qu’allons-nous apprendre dans les prochains tutoriels sur les Concepts OOPs

bien que nous ayons couvert presque tous les concepts Oops ici, mais tout ce que nous avons appris dans ce guide est bref, ces sujets sont larges et il y a tellement de possibilités d’apprendre ces sujets en détail à l’aide d’exemples. C’est pourquoi j’ai couvert chaque sujet en détail avec des exemples et des diagrammes dans les prochains tutoriels.
Comment Pouvez-vous lire les tutoriels suivants de manière séquentielle? Il y a deux façons de le faire – 1) les liens de tutoriel sont fournis dans la barre latérale gauche, allez-y dans l’ordre donné.,
2) Accédez à la page principale du didacticiel java qui contient tous les liens vers les didacticiels de manière séquentielle.
Si vous trouvez des difficultés à comprendre ces Concepts Oops, déposez un commentaire ci-dessous et je reviendrai vers vous dès que possible.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *