CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Help] Protocole méta-objets

seikay
seikay
Niveau 10
01 décembre 2010 à 22:29:02

Bonjour, j'ai lu aujourd'hui, un vieille article de developpez sur Qt framework parlant des "métas-objets", bien evidemment, étant quand même débutant dans le domaine de la programmation et de la POO (depuis Aout), je me suis lancé dans la programmation en C++ sur Qt (ne vous inquiétez pas j'ai les bases), mais j'ai du mal a comprendre ce protocole méta-objet, donc j'aimerais savoir si c'était possible que l'on m'explique de façons, si possible, clair et simplifier, ou si vous auriez des sources explicites et plus compréhensibles.

Ou peut être suis je encore trop débutant pour essayer de me lancer dans ce concept, du moins de le comprendre.

Merci de vos réponses :-)

guyver2
guyver2
Niveau 10
01 décembre 2010 à 23:25:38

je sais pas exactement si c'est ça dont tu parles. Mais Qt utilise, pour gérer les actions de l'utilisateur (et aussi tout un tas de communications inter-objet), un système de slot et signaux qui nécessite une passe de traitement avant de lancer la compilation. Cette étape est effectuée par un programme appelé moc (Meta Object Compiler).

Il faut ajouter un mot clé "QOBJECT" dans chaque objet utilisant ce système pour que le moc sache quels classes doivent être traité.

Souvent cette étape est transparente pour le programmeur puisqu'elle est masquée par l'utilisation de l'utilitaire qmake (ou encore cmake) qui génère automatiquement le fichier makefile qui fera toutes les opérations dans l'ordre.

Venons en maintenant au terme de "meta-objet", dans ce cas là il s'agit d'objet (de classes) définis automatiquement par le moc pour décrire le comportement d'autre objets (ceux écrits par le programmeur). Par curiosité il est possible de voir le contenu de ces classes en ouvrant les fichiers associés (ce sont les .cpp dont le nom commence par "moc_")

De manière général quand on parle de méta-quelque chose il s'agit de données qui ne sont pas directement destinés à un humain ou qui donnent des infos sur le "quelque chose" associé.

méta-objet -> objet qui donnent des infos sur des objets
méta-données -> données sur des données (plus vague que ça tu meurs)
http://fr.wikipedia.org/wiki/M%C3%A9tadonn%C3%A9e

C'est pas forcement la chose la plus utile à connaitre pour faire de la POO mais si tu utilise QT c'est toujours bien d'en savoir plus sur le fonctionnement sous-jacent.

seikay
seikay
Niveau 10
05 décembre 2010 à 15:52:45

Merci de ta réponse ! j'ai réussi à mieux comprendre le fonctionnement :)
Comme tu le dis, c'est toujours bien de connaitre les fonctionnements internes, pour ma part, j'arrive très difficilement à faire quelque chose sans comprendre comment ça marche.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment