Maison > Problème commun > Que signifie la programmation orientée objet ?

Que signifie la programmation orientée objet ?

小老鼠
Libérer: 2023-07-17 13:56:39
original
2040 Les gens l'ont consulté

La programmation orientée objet est une conception de codage qui utilise des données pour représenter un ensemble d'instructions. Il s'agit d'un paradigme de programmation avec un concept d'objet, mais aussi d'une politique abstraite de développement de programmes. Il se compose d'attributs qui décrivent l'état et les méthodes utilisées pour implémenter le comportement des objets, complétant ainsi l'intégration et l'unification du modèle de données au modèle de traitement.

Que signifie la programmation orientée objet ?

Qu'est-ce que la programmation orientée objet ?

La programmation orientée objet (POO) est une conception de codage qui utilise des données pour représenter un ensemble d'instructions. La conception POO s'articule autour de classes spécialisées qui peuvent être instanciées en tant qu'objets.

Contrairement à la programmation procédurale ou fonctionnelle, la POO nous donne la possibilité d'exprimer notre code de manière plus complète. Alors que les paradigmes précédents n'avaient souvent aucune structure, la POO encourage l'utilisation de structures spécialisées appelées classes.

Les méthodes sont des fonctions qui effectuent des tâches spécifiques dans une classe. Les propriétés sont comme des variables qui décrivent les caractéristiques ou les caractéristiques d'une classe. Les méthodes peuvent fonctionner indépendamment ou sont souvent basées sur des propriétés de classe. En fin de compte, les deux travaillent ensemble pour réaliser le concept de POO.

Avantages de la programmation orientée objet

Alors, comment la programmation orientée objet vous aide-t-elle à écrire de meilleurs programmes ?

OOP réduit la complexité de votre base de code.

Cela nous aide à exprimer clairement notre code et à le rendre plus lisible.

Les programmes écrits en POO sont généralement plus évolutifs.

Cela simplifie les tests de code et le débogage.

OOP élimine la duplication de code et établit le principe DRY (Don't Repeat Yourself).

Le code OOP est généralement plus modulaire, encourageant la séparation des préoccupations.

La composition des classes et l'héritage facilitent la réutilisation du code.

L'abstraction améliore la sécurité de votre base de code.

Inconvénients de la programmation orientée objet

Bien que les avantages de la POO l'emportent sur les inconvénients, les inconvénients ne peuvent être ignorés :

Elle peut être plus lente que la programmation fonctionnelle.

La POO a une courbe d'apprentissage abrupte.

Les dossiers et fichiers de script se développent à mesure que l'application se développe.

Structure de programmation orientée objet

La POO s'articule autour d'une architecture stricte. Voici quelques termes que nous allons découvrir :

Classes

Une classe est une collection de code qui est une représentation de données qui effectue des opérations similaires. Nous pouvons considérer les classes comme des gestionnaires d'objets car nous pouvons utiliser des gestionnaires d'objets pour instancier des objets.

Méthodes

Les méthodes définissent la manière dont une classe accomplit sa tâche. Une classe peut contenir une ou plusieurs méthodes. Nous pouvons considérer les méthodes comme la manière dont une classe partage les responsabilités en son sein.

Par exemple, une classe de convertisseur d'unités peut contenir des méthodes pour convertir Celsius en Fahrenheit. Cela pourrait inclure une autre façon de changer les grammes en kilogrammes.

Attributs

Les attributs sont des éléments ou des attributs qui décrivent une classe. Par exemple, une classe de convertisseur d'unités peut contenir des propriétés telles que la conversion d'unités. On peut définir des méthodes qui agissent sur ces propriétés.

Comme les méthodes, nous pouvons accéder à (certaines) propriétés à partir d'instances de classe.

Objets

En termes simples, un objet est une instance d'une classe. Lorsque vous instanciez une classe, l'objet résultant utilise cette classe comme modèle pour ses propriétés et méthodes.

Principes de la programmation orientée objet

La programmation orientée objet apporte quelques principes à la table de programmation. Chacun de ces éléments le place en avance sur la programmation traditionnelle. Le concept d'abstraction de

Abstraction

POO estime que vous n'avez pas besoin de savoir comment quelque chose fonctionne. Cela nous permet d'encapsuler le code dans un langage simple sans nous soucier de la complexité en coulisses du programme.

Par exemple, nous n'avons pas à nous soucier de la logique, des algorithmes de filtrage ou des fonctions derrière l'opération de soumission. En tant qu'utilisateurs, tout ce que nous voyons et nous soucions, c'est le bouton d'envoi.

La programmation orientée objet nous aide à faire abstraction de la logique en présentant une seule tâche comme un seul appel. Par exemple, même si la classe du convertisseur d'unités peut effectuer de nombreux calculs en arrière-plan, nous pouvons exécuter son convertisseur de kilogramme en gramme en appelant une seule méthode :

class_instance.convert_gram()

où class_instance est l'objet et convert_gram sont les méthodes de classe de convertisseur.

Encapsulation

L'encapsulation est l'un des moyens de créer de l'abstraction dans la programmation orientée objet. Chaque objet est un ensemble de données traité comme une entité. Les données de l'objet incluent des propriétés et des méthodes cachées dans l'espace global.

Généralement, l'encapsulation nous permet d'envelopper les données de classe en privé dans un objet. Ainsi, le contenu d’un objet n’interfère pas avec celui de l’autre. Seules les méthodes et propriétés inhérentes à l'objet peuvent le modifier.

Par exemple, les méthodes d'un objet convertisseur d'unités ne doivent pas modifier les propriétés d'un autre objet sans héritage ou composition.

L'encapsulation nous permet de modifier le contenu ou la structure d'un objet sans nous soucier de l'interface publique.

Héritage

L'héritage nous permet de réutiliser le contenu d'une classe (appelée super classe) dans une autre classe appelée sous-classe. Lorsqu'une classe hérite d'une superclasse, elle obtient automatiquement ses propriétés et méthodes.

En plus des propriétés héritées de la superclasse, les sous-classes peuvent également avoir leurs propres propriétés et méthodes.

Par exemple, l'héritage sera utile si nous voulons qu'une classe utilise les données d'un module externe. Cela garantit également que nous ne nous répétons pas lors de l'écriture du code.

La création de sous-classes permet donc également de gagner beaucoup de temps. Au lieu de créer de nouvelles classes pour tout, nous pouvons créer une classe de base et l'étendre à de nouvelles sous-classes, en empruntant les fonctionnalités existantes.

L'héritage est utile, mais savoir quand utiliser la composition est un principe de base en programmation.

Polymorphisme

Le polymorphisme est le résultat de l'héritage. Il vous permet de conserver les noms de méthodes ou de propriétés dans différents objets où vous pouvez les utiliser selon vos besoins.

Ce concept garantit qu'une méthode de classe peut être utilisée dynamiquement dans différentes classes et en hériter de la classe de base.

Par exemple, un objet de jeu générique peut définir des méthodes de déplacement. Les sous-classes peuvent définir exactement comment se produit leur mouvement spécifique. Le code de contrôle n'a alors pas besoin de savoir comment les classes individuelles sont déplacées, mais seulement de savoir qu'elles peuvent toutes être déplacées via la méthode commune.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal