Quelle est la différence entre une fonction abstraite et une fonction virtuelle? Dans quels cas est-il recommandé d'utiliser virtuel ou abstrait? Laquelle est la meilleure
abstract est un mot-clé partagé par une multitude de langages de programmation orientés objet. Les méthodes et les classes peuvent être marquées comme abstraites pour indiquer qu'elles ne contiennent pas l'implémentation complète de la logique d'application et doivent être étendues. Les classes abstraites ne peuvent pas être instanciées et ont pour but de fournir une interface uniforme pour leurs sous-classes, ainsi que l'implémentation de méthodes communes qui n'ont pas besoin d'être réimplémentées pour chaque sous-classe.
Quelle est la différence entre une fonction abstraite et une fonction virtuelle? Dans quels cas est-il recommandé d'utiliser virtuel ou abstrait? Laquelle est la meilleure
Lors d'une de mes interviews, on m'a demandé "Si on peut instancier une classe abstraite?" Ma réponse a été "non, nous ne pouvons pas". Mais, l'intervieweur m'a dit "Faux, nous pouvons." J'ai argumenté un peu là-dessus. Puis il m'a dit d'essayer moi-même à la maison. abstract class my { public void...
Comment puis-je créer une classe ou une méthode abstraite en Python? J'ai essayé de redéfinir __new__()comme ça: class F: def __new__(cls): raise Exception("Unable to create an instance of abstract class %s" %cls) mais maintenant si je crée une classe Gqui hérite de Fcomme ça: class G(F): pass...
Prenons un exemple (qui se compile en java) public abstract interface Interface { public void interfacing(); public abstract boolean interfacing(boolean really); } Pourquoi est-il nécessaire qu'une interface soit "déclarée" abstraite? Y a-t-il d'autres règles qui s'appliquent à une interface...
J'interagis à travers les classes dans un fichier Jar et je souhaite trouver celles qui ne sont pas abstraites. Je peux résoudre cela en instanciant les classes et en piégeant InstantiationException, mais cela a un impact négatif sur les performances car certaines classes ont un démarrage...
Les classes de données semblent remplacer les POJO à l'ancienne en Java. Il est tout à fait prévisible que ces classes permettent l'héritage, mais je ne vois aucun moyen pratique d'étendre une classe de données. Ce dont j'ai besoin est quelque chose comme ça: open data class Resource (var id: Long...
J'ai utilisé la fonction de refactoring "pull interface" d'Eclipse aujourd'hui pour créer une interface basée sur une classe existante. La boîte de dialogue proposait de créer toutes les nouvelles méthodes de la nouvelle interface sous forme de méthodes "abstraites". Quel en serait l’avantage? Je...
Après avoir activé les avertissements stricts dans PHP 5.2, j'ai vu une foule d'avertissements de normes strictes d'un projet qui a été initialement écrit sans avertissements stricts: Standards stricts : la fonction statique Program :: getSelectSQL () ne doit pas être abstraite dans...
Puis-je définir une classe abstraite sans ajouter de méthode
Est-il possible de simuler une classe de base abstraite en JavaScript? Quelle est la manière la plus élégante de le faire? Dites, je veux faire quelque chose comme: - var cat = new Animal('cat'); var dog = new Animal('dog'); cat.say(); dog.say(); Il devrait afficher: 'bark',
Les méthodes C # des interfaces sont déclarées sans utiliser le virtualmot - clé et remplacées dans la classe dérivée sans utiliser le overridemot - clé. Y a-t-il une raison à cela? Je suppose que c'est juste une commodité de langage, et évidemment le CLR sait comment gérer cela sous les...
Pourquoi les classes Java ne peuvent-elles pas avoir de champs abstraits comme elles peuvent avoir des méthodes abstraites? Par exemple: j'ai deux classes qui étendent la même classe de base abstraite. Ces deux classes ont chacune une méthode identique à l'exception d'une constante String, qui se...
Existe-t-il un moyen standard de créer une "fonction virtuelle pure" dans Swift, ie. celui qui doit être remplacé par chaque sous-classe, et qui, si ce n'est pas le cas, provoque une erreur de compilation?