Une question pour les experts de la POO. - page 18

 

Unefonction virtuelle est un modèle de fonction qui est stocké dans une classe de base et qui ne peut être implémenté que dans les classes descendantes. Les classes peuvent également être virtuelles. Les classes virtuelles qui contiennent des fonctions virtuelles sont appelées "interfaces". Ensemble, ils mettent en œuvre l'un des principaux mécanismes de la POO - le polymorphisme.

Seulement en pratique, je ne comprends pas où le mettre...

 
Georgiy Merts:

Pourquoi ?

Le noyau global et la POO ne s'excluent pas mutuellement.

Seuls les éléments des fenêtres devraient être encapsulés dans les classes de fenêtres, et non pas "étalés à la vue de tous". Juste pour que personne ne puisse accidentellement "se mettre au mauvais endroit". Il est très facile de modifier une variable et de se tromper sur son emplacement dans un énorme tableau global, alors qu'il est beaucoup plus difficile d'interroger la bonne interface, puis de modifier la même variable dans le bon objet et de se tromper.

Hélas, ils s'excluent mutuellement. Un noyau global implique une visibilité globale, ce qui supprime le besoin de

(1)Dans l'encapsulation du code. Pourquoi, alors que tout est accessible de partout ?

(2 )Surcharge des fonctions. Pourquoi alors qu'il est plus facile de faire le travail en une seule fois, rendant les résultats universellement visibles et accessibles ?

(3)Polymorphisme. Pourquoi cacher différentes implémentations sous un seul modèle, alors qu'une seule unité peut faire le travail de ces variantes de modèle ? La quantité de code serait moindre et la syntaxe serait plusieurs fois plus simple.

L'intérêt de la POO réside dans ce qui suit :

1. Déchargement de la mémoire humaine. (Il est mal déchargé. Il y a trop de syntaxe).

2. Répartition du travail commun au sein d'une équipe (tout le monde connaît un morceau de code, d'où des problèmes de construction et de débogage).

3. Portabilité du code. (C'est vraiment un plus).

4. Marketing. Distribution et vente d'environnements de développement, de bibliothèques, par la publicité de divers gadgets.

 
Реter Konow:

Hélas, l'exclusion. Un noyau global implique une visibilité globale, ce qui supprime le besoin de

(1)Dans le code d'encapsulation. Pourquoi, alors que tout est accessible de partout ?

(2 )Surcharge des fonctions. Pourquoi alors qu'il est plus facile de faire le travail en une seule fois, rendant les résultats universellement visibles et accessibles ?

(3)Polymorphisme. Pourquoi cacher différentes implémentations sous un seul modèle, alors qu'une seule unité peut faire le travail de ces variantes de modèle ? La quantité de code serait moindre et la syntaxe serait plusieurs fois plus simple.

L'intérêt de la POO réside dans ce qui suit :

1. Déchargement de la mémoire humaine. (Il est mal déchargé. Il y a trop de syntaxe).

2. Répartition du travail commun au sein d'une équipe (tout le monde connaît un morceau de code, d'où des problèmes de construction et de débogage).

3. Portabilité du code. (C'est vraiment un plus).

4. Marketing. Distribution et vente d'environnements de développement, de bibliothèques, par la publicité de différents gadgets.

Qui êtes-vous, et que voulez-vous prouver ? Que la POO est mauvaise et qu'un tas de trucs à un endroit est bon ? C'est tout ce pourquoi vous avez créé ce fil de discussion ? Ou vous voulez booster votre ego en vantant votre super mémoire ? Ça me semble être votre alter ego. Rien de plus.
Le fil perd alors son sens pratique - il peut être intitulé "Regardez-moi". C'est inutile.

Tout ce qu'on vous dit, vous le remettez immédiatement en question, sans oublier d'ajouter ce que vous êtes, et comment vous allez, et comment tout est bon et meilleur, et comment le monde entier est stupide, et d'autres choses inhérentes à un nihilisme désappris et accablé dans sa plus belle manifestation de l'homme.

 
Artyom Trishkin:

Qui êtes-vous, et que voulez-vous prouver ? Que la POO est mauvaise et qu'un tas de trucs à un endroit est bon ? C'est tout ce pour quoi vous avez créé ce fil de discussion ? Ou vous voulez booster votre ego en vantant votre super mémoire ? Ça me semble être votre alter ego. Rien de plus.
Le fil perd alors son sens pratique - il peut être intitulé "Regardez-moi". C'est inutile.

Tout ce que l'on vous dit, vous le remettez immédiatement en question, sans oublier d'ajouter ce que vous êtes, et comment vous allez, et comment tout est bon et meilleur, et comment le monde entier est stupide, et d'autres choses inhérentes à un nihiliste inculte et accablé dans sa plus belle manifestation de l'homme .

Vous recommencez, n'est-ce pas ?)) Je pensais que vous aviez arrêté de troller mes fils. Vous ne pouvez pas résister à devenir personnel. Je ne peux pas...)

Quand une personne devient personnelle, cela signifie qu'elle n'a rien à dire sur le sujet. Apparemment, les arguments sont irréfutables.
 

L'argument en faveur de la POO est simple : les gens en ont besoin.

A ce stade, nous pouvons clore le sujet.

 
Реter Konow:

Hélas, l'exclusion. Un noyau global implique une visibilité globale, ce qui supprime le besoin de

(1)Dans le code d'encapsulation. Pourquoi, alors que tout est accessible de partout ?

(2 )Surcharge des fonctions. Pourquoi alors qu'il est plus facile de faire le travail en une seule fois, rendant les résultats universellement visibles et accessibles ?

(3)Polymorphisme. Pourquoi cacher différentes implémentations sous un seul modèle, alors qu'une seule unité peut faire le travail de ces variantes de modèle ? La quantité de code serait moindre et la syntaxe serait plusieurs fois plus simple.

L'intérêt de la POO réside dans ce qui suit :

1. Déchargement de la mémoire humaine. (Il est mal déchargé. Il y a trop de syntaxe).

2. Distribution du travail commun au sein d'une équipe (tout le monde connaît un morceau de code, d'où des problèmes de construction et de débogage).

3. Portabilité du code. (C'est vraiment un plus).

4. Marketing. Distribution et vente d'environnements de développement, de bibliothèques, par la publicité de divers gadgets.

Ce sont donc des choses différentes.

J'ai dans n'importe quel EA (dans la même Ligue) - il y a des objets avec une portée globale.

Mais votre noyau peut être représenté comme une classe qui a un tas de fonctions - getter setters, en conséquence il sera assez "OOP-like", mais avec un accès global. Bien que, bien sûr, sans les principaux avantages de la POO - encapsulation, héritage et polymorphisme.

Quant à ce sur quoi repose la POO - la première devrait être complétée non seulement par le déchargement de la mémoire (et elle se décharge très bien), mais aussi par le déchargement du support et de la modification du code. Et d'ailleurs, il est beaucoup plus facile de réutiliser les développements qui sont dans la conception OOP que sans elle. D'ailleurs, "4 - marketing" est juste une conséquence de cette utilisation beaucoup plus facile.

 
Artyom Trishkin:

Tout ce qu'on vous dit, vous le remettez immédiatement en question, sans oublier d'ajouter comment vous êtes, et comment tout est bon et meilleur, et comment le monde entier est un idiot, et d'autres choses inhérentes à un nihiliste inculte et accablé dans sa plus belle forme.

Artem, j'envie la mémoire de Peter...

Sans parler du fait que Peter a essayé d'offrir de vraies perspectives.

 

Informatif, mais pas pour la lecture du débutantOOP patterns en métaphores

purement sur le thème du contenu :qu'est-ce qu'un anti-modèle ?

 
Igor Makanu:

Informatif, mais pas pour la lecture du débutantOOP patterns en métaphores

purement sur le thème du contenu :qu'est-ce qu'un anti-modèle ?

Le second article est plus utile et, à mon avis, doit être lu par tous, quel que soit le style de programmation qu'ils pratiquent.
 
Реter Konow:

Unefonction virtuelle est un modèle de fonction qui est stocké dans une classe de base et qui ne peut être implémenté que dans les classes descendantes. Les classes peuvent également être virtuelles. Les classes virtuelles qui contiennent des fonctions virtuelles sont appelées "interfaces". Ensemble, ils mettent en œuvre l'un des principaux mécanismes de la POO - le polymorphisme.

Seulement en pratique, je ne comprends pas où le mettre...

les fonctions virtuelles sont celles qui peuvent être surchargées dans une classe dérivée. un modèle est différent dans tout contexte.

Une implémentation particulière peut très bien se trouver dans une classe de base. ou non (si la fonction est purement virtuelle).

Les classes ne peuvent pas être virtuelles, elles peuvent être abstraites. Il existe un héritage virtuel, mais vous n'avez pas besoin de vous en préoccuper du tout.

une interface est, grosso modo, une classe abstraite ne comportant que des fonctions purement virtuelles.

Les fonctions virtuelles ne sont qu'une partie du polymorphisme - polymorphisme dynamique. La surcharge et les modèles sont statiques.

Vous pouvez le faire partout, vous laissez juste tout passer à travers votre pensée tabulaire plate.

Raison: