Une classe de base abstraite (ABC) peut contenir des données pour prendre en charge les classes héritées. Cependant, étant donné qu'il n'est pas possible d'instancier un objet d'un ABC, comment le compilateur gère-t-il ces données pour les cas où nous avons un certain nombre d'objets de classe dérivés qui héritent de l'ABC. Est-ce que les données sont associées à l'objet de classe dérivé?Résumé Membres de la classe de base et des données? Comment ça marche?
Répondre
Si vous parlez de données statiques, ces données resteront associées à la classe de base. Il n'y aura toujours qu'une seule instance de ces données en mémoire, peu importe le nombre de classes qui en dérivent.
Des données non statiques seront associées à chaque instance de cette classe. Si vous créez 5 instances de cette classe, il y aura 5 instances de ces données en mémoire, chacune accessible uniquement via son instance associée.
Donc les données non statiques déclarées dans l'ABC deviennent associées à chaque instance de la classe dérivée? – Wawel100
Que voulez-vous dire par associé? –
Je suppose que ce que j'essaie de comprendre, c'est s'il n'est pas possible de créer une instance d'un ABC comment le compilateur gère-t-il différentes instances des données ABC non statiques? – Wawel100
Oui.
Un compilateur peut uniquement accepter un type hérité qui a été instancié avec une classe substantielle dérivée. En effet,
public void RunInstantiate()
{
IAbstract abc;
abc = new Implement();
}
abc
sera toujours pointer vers un objet réel (du type Implement
).
- 1. Sites web d'octroi de licences - Comment ça marche?
- 2. iPhone Developer Program, comment ça marche?
- 3. C#: Comment ça marche: Unit myUnit = 5;
- 4. IExtension: modèle d'objet extensible: Comment ça marche?
- 5. SAP Background Job: comment ça marche?
- 6. Fichier de paramètres Visual Studio - comment ça marche?
- 7. Télécharger la prévention comme RapidShare.com? comment ça marche?
- 8. Les ombres portées de Google en HTML - comment ça marche?
- 9. MVC - Comment ça marche dans le monde réel?
- 10. In Héritage: Puis-je remplacer les membres de données de la classe de base?
- 11. jQuery.fn - Pourquoi ça ne marche pas?
- 12. Comment envoyer des objets complexes en utilisant WCF? Est-ce que ça marche? Est-ce bien?
- 13. Résumé de l'héritage de la classe de base dans Django avec foreignkey
- 14. Si ce code n'est pas une blague, comment ça marche?
- 15. Xmlserializer ne sérialisant pas les membres de classe de base
- 16. explorer obtenir la vignette de l'image très vite, comment ça marche?
- 17. C# Variables de variables membres utilisées par la méthode de la classe de base
- 18. Entlib et interop: ça marche, et où va le fichier de configuration?
- 19. Verrouillage des membres de la classe dans PHP
- 20. Attributs XSD et résumé
- 21. Comment ça fait un .air, j'ai essayé l'adl et l'adt mais ça ne marche pas pour moi
- 22. Utilisez-vous des membres de données ou des propriétés publiques dans la classe elle-même?
- 23. base de données Autoload classe
- 24. MS SQL Server 2008 Spatial Indexation - ça marche?
- 25. Pourquoi ce code est-il généré par avr-gcc et comment ça marche?
- 26. comment se connecter et insérer et récupérer des données de la base de données?
- 27. comment extraire des données de la base de données?
- 28. Ruby Object Accès membres: Comment ça c'est fait?
- 29. Qu'est-ce que VHTML? Comment ça marche? Où puis-je trouver des informations à ce sujet?
- 30. Générer classe d'entités de la table de base de données
Ce n'est pas une "question de devoirs" juste quelque chose qui m'a dérangé – Wawel100