Partage
  • Partager sur Facebook
  • Partager sur Twitter

définition POO et exemples

C++ POO

16 juin 2019 à 18:43:44

Bonjour

dans une définition de la POO, il est indiqué la chose suivante.

Je connais le point 1 à 4

Pourriez-vous m'expliquer les points 5 à 7 et me donner un donner un exemple simple pour chacun d'entre eux ?

Merci beaucoup par avance 

Object Oriented Programming (OOP) includes:

    1)Abstraction
    2) Encapsulation
    3) Polymorphism
    4) Inheritance
    5) Predefined types must be objects
    6) User defined types must be objects
    7) Operations must be performed by sending messages to objects



  • Partager sur Facebook
  • Partager sur Twitter
16 juin 2019 à 19:05:56

Ces affirmations n'engagent que leur auteur. D'où ça sort ?

Contre-exemple pour 5 : le type int en Java/C++. A moins de dire que ce sont des langages OO qui incluent des trucs pas OO, ou que ce ne sont pas des langages OO.

Pour le 7, il faudrait définir ce qu'est un _message_. C'est clair en SmallTalk, mais pour les autres...

-
Edité par michelbillaud 16 juin 2019 à 19:10:16

  • Partager sur Facebook
  • Partager sur Twitter
16 juin 2019 à 23:49:37

On voit sur le site qu'on peut y mettre des commentaires.
  • Partager sur Facebook
  • Partager sur Twitter
17 juin 2019 à 0:46:38

Michel, j'ai l'impression que ton interprétation du 5 est que les instances de types primitifs ne sont pas toujours des objets -- vu que tu inclus le C++. Ma lecture est que les types sont aussi des objets, pour cette définition -- et on pourrait juste chipoter qu'il n'y a historiquement pas de notion de type qui soit à ce point critique en OO

<digression>

Après on pourrait pinailler que nos soit disant langages OO sont en fait orientés classes, qu'Alan Kay qui a /coined/ (comment vous le traduiriez en Français?) l’appellation Orientée Objet a une toute autre définition et que pour lui C++ et Java ne sont pas OO, etc)
De lecture sur Kay:
- http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en
- https://medium.com/@atherlangga/retracing-original-object-oriented-programming-f8b689c4ce50
- http://mythz.servicestack.net/blog/2013/02/27/the-deep-insights-of-alan-kay/
- https://www.youtube.com/watch?v=lQQ_CahFVzw
</>

EDIT: Ah! Je vois sur le site que ta lecture des points 5 et 6 est bonne et qu'ils confondent classe et objet.

-
Edité par lmghs 17 juin 2019 à 0:48:42

  • Partager sur Facebook
  • Partager sur Twitter
C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
17 juin 2019 à 9:13:48

Du moins ils font un raccourci violent en écrivant "types" pour  "données des types" (prédéfinis).

Vu le contexte (une liste de questions d'interviews et des propositions de réponse), la question est peut être à interpréter sous la forme vague

  • citez des trucs qu'on retrouve dans des langages de prog. objet.

Les classes en tant qu'objets, ça existe en effet (parfois) dans le cadre objet, comme l'introspection (API reflection) qui n'est pas dans la liste.

C'est pour ça que je conseillais à notre ami l'OP de consulter directement l'auteur - un thésard qui cherchait à se rendre utile et éventuellement devenir célèbre - si il a besoin d'une justification précise des réponses. On n'est pas dans sa tête.

PS ça commence à dater, ça ne parle pas des évolutions majeures de Java 8 (aspects fonctionnels, interface des streams) et les interfaces graphiques en sont restées à Swing.

-
Edité par michelbillaud 17 juin 2019 à 9:16:51

  • Partager sur Facebook
  • Partager sur Twitter