J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet.
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
OWL c'est mort depuis belle lurette non ? VCL a pris le pas il me
semble (elle même est morte aussi non ?).
http://www.torjo.com/win32gui/
J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet.
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
OWL c'est mort depuis belle lurette non ? VCL a pris le pas il me
semble (elle même est morte aussi non ?).
http://www.torjo.com/win32gui/
J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet.
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
OWL c'est mort depuis belle lurette non ? VCL a pris le pas il me
semble (elle même est morte aussi non ?).
http://www.torjo.com/win32gui/
[Win32]
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
[Win32]
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
[Win32]
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
Mais il n y a pas de structuration objet ( classes,
J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet. On y
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
Mais il n y a pas de structuration objet ( classes,
J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet. On y
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
Mais il n y a pas de structuration objet ( classes,
J'ai quand même envie de pinailler, surtout que je rédige un petit
article là dessus, ça va me permettre d'avoir votre avis. Win32 est
en C, certes, mais cela ne l'empêche pas d'être orienté objet. On y
retrouve beaucoups de concepts objets, on peut même être plus proche
de la théorie objet qu'avec des langages comme C++ ou même Java/C#.
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut identifier,
à faible dose cela dit.
Aurélien REGAT-BARREL wrote:
> J'ai quand même envie de pinailler, surtout que je rédige un petit
> article là dessus, ça va me permettre d'avoir votre avis. Win32 est
> en C, certes, mais cela ne l'empêche pas d'être orienté objet.
En interne, c'est "conceptuellement" objet (je vais me faire tuer par les
puristes), t'as des blocs, tokens, privilèges, etc. Mais bon, c'est codé
C. Architecturellement pensé objet si tu veux, mais concrètement pas objet
au final...
Aurélien REGAT-BARREL wrote:
> J'ai quand même envie de pinailler, surtout que je rédige un petit
> article là dessus, ça va me permettre d'avoir votre avis. Win32 est
> en C, certes, mais cela ne l'empêche pas d'être orienté objet.
En interne, c'est "conceptuellement" objet (je vais me faire tuer par les
puristes), t'as des blocs, tokens, privilèges, etc. Mais bon, c'est codé
C. Architecturellement pensé objet si tu veux, mais concrètement pas objet
au final...
Aurélien REGAT-BARREL wrote:
> J'ai quand même envie de pinailler, surtout que je rédige un petit
> article là dessus, ça va me permettre d'avoir votre avis. Win32 est
> en C, certes, mais cela ne l'empêche pas d'être orienté objet.
En interne, c'est "conceptuellement" objet (je vais me faire tuer par les
puristes), t'as des blocs, tokens, privilèges, etc. Mais bon, c'est codé
C. Architecturellement pensé objet si tu veux, mais concrètement pas objet
au final...
C'est tout simplement orienté object !
et Concrètement c'est de la
programmation objet, architecture objet...
C'est tout simplement orienté object !
et Concrètement c'est de la
programmation objet, architecture objet...
C'est tout simplement orienté object !
et Concrètement c'est de la
programmation objet, architecture objet...
> Bien entendu, l'API Win32 permet de manipuler des "objets" (via des
handles opaques). Ca prouve que la notion d'objet est plus une question de
conception que de langage d'implémentation. Ceci-dit, c'est nettement plus
facile de faire de l'objet (conceptuel) avec un langage orienté objet
qu'en C de grand-papa ;-)
On peut "apercevoir" la notion d'héritage à travers de méthodes comme
CloseHandle, DuplicateHandle, WaitForXXXObjects.
En ce qui concerne le polymorphisme et les fonctions virtuelles , c'est un
"détail" d'implémentation dont l'objectif principal est justement de ne
*pas* être visible depuis l'extérieur. Donc, savoir si Win32 est
polymorphe, on s'en fiche pas mal en tant que simple utilisateur de Win32!
Heu, il n'y a rien de ça dans Win32. Tu confonds avec MFC non ? Bon, c'est
vrai Qu'un CreatePen() suivi d'un DeleteObject(), ça fait furieusement
penser construteur/destructeur...
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
Je suis d'accord avec Aurélien. J'ai participé à des projets
(en C, sous OS/2 et sous Win32) dans lesquels une partie de
l'architecture reposait sur des messages postés entre threads
et qui étaient reçus par des fenêtre "invisibles" dont les
procédures de classes renvoyaient à la classe de base dans
le default du switch. Ajouté à l'utilisation de DLL chargées
dynamiquement comportant une procédure de classe exportée, ça
permet effectivement héritage, polymorphisme et fonctions
virtuelles, à grosses doses si on veut.
Ce genre de chose est aussi possible pour toute la partie
graphique, quand on souhaite se construire son propre gestionnaire
d'écran par exemple.
> Bien entendu, l'API Win32 permet de manipuler des "objets" (via des
handles opaques). Ca prouve que la notion d'objet est plus une question de
conception que de langage d'implémentation. Ceci-dit, c'est nettement plus
facile de faire de l'objet (conceptuel) avec un langage orienté objet
qu'en C de grand-papa ;-)
On peut "apercevoir" la notion d'héritage à travers de méthodes comme
CloseHandle, DuplicateHandle, WaitForXXXObjects.
En ce qui concerne le polymorphisme et les fonctions virtuelles , c'est un
"détail" d'implémentation dont l'objectif principal est justement de ne
*pas* être visible depuis l'extérieur. Donc, savoir si Win32 est
polymorphe, on s'en fiche pas mal en tant que simple utilisateur de Win32!
Heu, il n'y a rien de ça dans Win32. Tu confonds avec MFC non ? Bon, c'est
vrai Qu'un CreatePen() suivi d'un DeleteObject(), ça fait furieusement
penser construteur/destructeur...
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
Je suis d'accord avec Aurélien. J'ai participé à des projets
(en C, sous OS/2 et sous Win32) dans lesquels une partie de
l'architecture reposait sur des messages postés entre threads
et qui étaient reçus par des fenêtre "invisibles" dont les
procédures de classes renvoyaient à la classe de base dans
le default du switch. Ajouté à l'utilisation de DLL chargées
dynamiquement comportant une procédure de classe exportée, ça
permet effectivement héritage, polymorphisme et fonctions
virtuelles, à grosses doses si on veut.
Ce genre de chose est aussi possible pour toute la partie
graphique, quand on souhaite se construire son propre gestionnaire
d'écran par exemple.
> Bien entendu, l'API Win32 permet de manipuler des "objets" (via des
handles opaques). Ca prouve que la notion d'objet est plus une question de
conception que de langage d'implémentation. Ceci-dit, c'est nettement plus
facile de faire de l'objet (conceptuel) avec un langage orienté objet
qu'en C de grand-papa ;-)
On peut "apercevoir" la notion d'héritage à travers de méthodes comme
CloseHandle, DuplicateHandle, WaitForXXXObjects.
En ce qui concerne le polymorphisme et les fonctions virtuelles , c'est un
"détail" d'implémentation dont l'objectif principal est justement de ne
*pas* être visible depuis l'extérieur. Donc, savoir si Win32 est
polymorphe, on s'en fiche pas mal en tant que simple utilisateur de Win32!
Heu, il n'y a rien de ça dans Win32. Tu confonds avec MFC non ? Bon, c'est
vrai Qu'un CreatePen() suivi d'un DeleteObject(), ça fait furieusement
penser construteur/destructeur...
Classes, constructeurs/destructeurs, héritage, polymorphisme,
fonctions virtuelles, ... sont des notions que l'on peut
identifier, à faible dose cela dit.
Je suis d'accord avec Aurélien. J'ai participé à des projets
(en C, sous OS/2 et sous Win32) dans lesquels une partie de
l'architecture reposait sur des messages postés entre threads
et qui étaient reçus par des fenêtre "invisibles" dont les
procédures de classes renvoyaient à la classe de base dans
le default du switch. Ajouté à l'utilisation de DLL chargées
dynamiquement comportant une procédure de classe exportée, ça
permet effectivement héritage, polymorphisme et fonctions
virtuelles, à grosses doses si on veut.
Ce genre de chose est aussi possible pour toute la partie
graphique, quand on souhaite se construire son propre gestionnaire
d'écran par exemple.
Heu, j'ai pas cru voir des surcharges, du polymorphisme, de
l'héritage, etc. dans les types, fonctions, etc. :-).
blague d'informaticien detectée
Heu, j'ai pas cru voir des surcharges, du polymorphisme, de
l'héritage, etc. dans les types, fonctions, etc. :-).
blague d'informaticien detectée
Heu, j'ai pas cru voir des surcharges, du polymorphisme, de
l'héritage, etc. dans les types, fonctions, etc. :-).
blague d'informaticien detectée
Avec RegisterClass, tu associes un nom de classe à du code, et
une quantité de mémoire d'instance. Avec CreateWindow, tu
instancies des objets en donnant le nom de classe, ton objet
est alors lié au code spécifié au moment du RegisterClass.
Avec Post/SendMessage, tu invoques des méthodes . Avec
Set/GetWindowLong, tu gères la mémoire d'instance. L'héritage,
il faut le coder soi-même, en "dur", ou avec les variables
d'instances. Avec le switch sur les messages dans les WindowProc
de l'arbre d'héritage, tu peux faire surcharge et polymorphisme.
Avec RegisterClass, tu associes un nom de classe à du code, et
une quantité de mémoire d'instance. Avec CreateWindow, tu
instancies des objets en donnant le nom de classe, ton objet
est alors lié au code spécifié au moment du RegisterClass.
Avec Post/SendMessage, tu invoques des méthodes . Avec
Set/GetWindowLong, tu gères la mémoire d'instance. L'héritage,
il faut le coder soi-même, en "dur", ou avec les variables
d'instances. Avec le switch sur les messages dans les WindowProc
de l'arbre d'héritage, tu peux faire surcharge et polymorphisme.
Avec RegisterClass, tu associes un nom de classe à du code, et
une quantité de mémoire d'instance. Avec CreateWindow, tu
instancies des objets en donnant le nom de classe, ton objet
est alors lié au code spécifié au moment du RegisterClass.
Avec Post/SendMessage, tu invoques des méthodes . Avec
Set/GetWindowLong, tu gères la mémoire d'instance. L'héritage,
il faut le coder soi-même, en "dur", ou avec les variables
d'instances. Avec le switch sur les messages dans les WindowProc
de l'arbre d'héritage, tu peux faire surcharge et polymorphisme.
Ah ben je constate avec plaisir que je suis pas si tordu
que ça, ou alors on est au moins deux :-)
Ah ben je constate avec plaisir que je suis pas si tordu
que ça, ou alors on est au moins deux :-)
Ah ben je constate avec plaisir que je suis pas si tordu
que ça, ou alors on est au moins deux :-)
On n'est pas tordu du tout, c'est assez évident si tu veux
bien examiner les APIs en question et l'ensemble qu'elles
forment. Il faut quand même remarquer que cette mécanique
est en place depuis plus d'une quinzaine d'année au moins,
ne t'imagines pas avoir fait là une grande découverte :-)
On n'est pas tordu du tout, c'est assez évident si tu veux
bien examiner les APIs en question et l'ensemble qu'elles
forment. Il faut quand même remarquer que cette mécanique
est en place depuis plus d'une quinzaine d'année au moins,
ne t'imagines pas avoir fait là une grande découverte :-)
On n'est pas tordu du tout, c'est assez évident si tu veux
bien examiner les APIs en question et l'ensemble qu'elles
forment. Il faut quand même remarquer que cette mécanique
est en place depuis plus d'une quinzaine d'année au moins,
ne t'imagines pas avoir fait là une grande découverte :-)