Là où la programmation n`a « orienté objet » obtenir son nom?

Orienté objet

est pas seulement un mot à la mode aléatoire que vous entendez dans les cercles de programmation. Il y a une raison derrière le nom - mais quoi? Joignez-vous à moi comme j`explore quelques-uns des fondamentaux des concepts de programmation et de vous expliquer pourquoi la programmation orientée objet entraîne la technologie derrière tout logiciel moderne et contraste à la programmation Sur la base de la procédure et logique.

Video: Initiation à la programmation orientée objet avec Python

Histoire de la programmation procédurale

Lorsque les ordinateurs ont d`abord été inventé, il fallait programmer explicitement avec des instructions simples - et « logiciel » était simplement une collection de ces commandes extrêmement simples enchaînées qui relierait en séquence.

programmation orientée objet

Dans un premier temps, ce code machine nécessaire à écrire - déplacer ce « peu » de cette mémoire à cet endroit, et d`effectuer une logique « et » opération sur avec ce bit, etc - mais assez vite ceux-ci ont été extraites à un niveau supérieur à l`aide DE BASE.

objet architecture logicielle orientée

Je soupçonne que la plupart d`entre vous ont rencontré BASIC (débutants tout usage Code d`instruction symbolique) à l`école. Il est un exemple parfait d`un langage de programmation procédural. Même ma première incursion de programmation BASIC utilisait sur un Amstrad CPC-64. Chaque ligne commence par un numéro de ligne, suivi d`une simple instruction en langage lisible par l`homme.

Depuis langues de procédure suivent les commandes les unes après les autres, il est généralement facile pour l`homme à suivre avec ce qui se passe dans le programme. Cependant, il est aussi difficile de faire quoi que ce soit au-delà d`un simple exercice d`apprentissage - ce qui nous amène à la création de la programmation orientée objet.

Orienté Objet?

Avec la programmation orientée objet, l`idée est de regrouper les variables liées ensemble et fonctionnalité dans un objet, ce qui représente une sorte de structure de données complexes. Cet objet peut être réutilisé plusieurs fois, ou étendue à quelque chose encore plus complexe.

Video: IT Experiences Ep4 - Apprendre à développer en orienté objet (Niveau débutant)

Par exemple, un jeu peut avoir un objet joueur. Chaque objet joueur dans le jeu représente un seul joueur de la vie réelle unique dans notre jeu en ligne multijoueur imaginaire. Chaque objet joueur a un surnom, un emplacement actuel, un inventaire, et un taux de mouvement. Même si chaque joueur est unique, nous voulons toujours leur faire partager les mêmes fonctionnalités de niveau de base. Chaque joueur peut avoir une bouge toi fonction, ce qui oblige le lecteur à aller de l`avant nombre X de carrés. Chaque joueur peut avoir un taux de déplacement différent, mais quand nous disons au joueur de se déplacer dans une commande, il saura comment réagir en fonction de ses propres mécaniciens Internet.

Pourquoi est-ce utile? Pour prendre un exemple plus la vie réelle - parce que les interfaces utilisateur graphiques modernes seraient impossibles sans objets - tous les systèmes d`exploitation fournissent un objet fenêtre. Il est donc facile d`avoir une nouvelle complète « fenêtre » avec les boutons de fermeture et plein écran, et la capacité à déplacer autour - sans avoir à programmer vous-même. Tout ce que vous devez faire est de dire créer une fenêtre.

Video: C sharp POO TP 3 : héritage te polymorphisme

En fait, le logiciel moderne se compose de milliers et de milliers d`objets - et pas seulement les fenêtres, mais les boutons et les champs de formulaire, et des boîtes d`alerte trop (qui sont eux-mêmes une sorte d`objet spécial de la fenêtre) - et il est seulement la façon dont ils sont disposés et la logique d`interaction entre eux qui rend ce logiciel différent des autres. Cela signifie que les programmeurs et les concepteurs de logiciels sont libres de se concentrer sur faire la mécanique de base de leur programme sans avoir à réinventer la roue à chaque fois.

programmation orientée objet

Un autre avantage de la conception orientée objet est que la fonctionnalité est séparée et invisible à l`autre. Ainsi, lorsque le joueur appuie sur la touche avant dans notre jeu, il appels la fonction de déplacement dans le objet joueur. Si nous faisons un petit changement à la façon dont ce mouvement est précisément réalisée dans l`objet du joueur - comme sauter au lieu de marcher - alors on n`a pas besoin d`ajuster le clavier d`écoute. Il appelle encore « bouger », peu importe ce qui se passe en interne dans l`objet du joueur - afin que nous puissions changer la fonctionnalité sans casser tout le reste.

La même chose est vrai dans les systèmes d`exploitation - si l`utilisateur décide soudainement de changer leur couleur de la fenêtre au rouge, vous n`avez pas besoin de détecter et de faire la fenêtre rouge aussi - il est tout intégré dans l`objet de la fenêtre.

Héritage

Une fois que nous avons des objets, nous pouvons également étendre et de les hériter pour produire des objets plus utiles avec des comportements différents ou des fonctionnalités supplémentaires. Toi pouvez réinventer la roue - si vous voulez. Dans notre exemple, des joueurs, nous voulons peut-être créer un objet « superman ». Superman est encore un joueur, la même chose que tout le monde - il veut un surnom aussi, et veut figurer sur les mêmes tableaux de classement du joueur - mais au lieu de l`action de mouvement standard qui marche l`objet joueur X espaces avant, nous le voulons voler au lieu - déplacer 10 carrés à la fois sur le dessus de tous les objets dans le chemin. En étendant l`objet de joueur de base que nous pouvons « hériter » de toutes ces fonctions utiles sans avoir à réécrire tout nouveau - mais nous pouvons encore « remplacer » la fonction de mouvement avec notre superman spécial volant mouvement!

la programmation orientée objet est une révélation absolue si vous ne jamais connu la programmation procédurale, et je pense personnellement que c`est dommage que ce simple genre de langage OOP est pas enseignée à l`école secondaire de premier cycle.

Une dernière chose: les langages de programmation basés sur la logique

Ceux-ci sont d`un intérêt particulier pour moi, car ils sont généralement plus utiles pour tout ce qui concerne l`intelligence artificielle. langages de programmation basés sur la logique, comme Prolog, ne pas utiliser des commandes et des instructions dans le sens traditionnel. Au lieu de cela, ils vont résoudre un problème donné un ensemble de règles et de conditions.

Video: Comment coder en JAVA n°6 : La POO (Programmation Orienté Objet)

Pensez à un repas de fête que vous organisez pour votre famille. Votre tante ne peut pas asseoir à côté de votre oncle, car ils vont vous argue- ne voulez pas deux enfants assis ensemble parce qu`ils seront peu rascals- vous ne voulez certainement pas asseoir entre deux enfants. C`est juste là - c`est votre programme Prolog écrit. Maintenant, il suffit de lui donner une liste des enfants et des adultes qui viennent à la fête, et il va générer une liste de suggestions de sièges possibles!

J`espère que vous avez apprécié cette introduction de niveau débutant à des concepts de programmation. Je suis désolé, je ne pouvais pas aller plus en détail et bien sûr, il y a un million de choses que je ne l`ai pas abordés. Si vous souhaitez en savoir plus, laissez-moi savoir dans les commentaires. Peut-être que nous pourrions faire une série de didacticiels de programmation orientés objet pour débutants différentes langues s`il y a assez d`intérêt? Assurez-vous de consulter notre archives liées à la programmation aussi, avec divers outils et sites de programmation.

Articles connexes