Je souhaite valider ma compréhension de quand et pourquoi utiliser un résumé ou une interface.Ma compréhension de l'utilisation de la classe abstraite ou de l'interface
Mon exemple concerne les humains. Un humain peut être un homme ou une femme. Un humain peut avoir une profession différente dans la vie. Donc, comment je les utilise:
Je vais déclarer les professions comme Interface, car il établira un contrat de ce qu'un humain peut faire dans cette profession. Exemple:
Interface SoftwareEngineer{
code();
}
Interface TruckDriver{
driveTruck();
}
Interface Pilot{
flyPlane();
}
Et je déclare l'homme et la femme comme classe- abstraite parce que l'homme et la femme sera la personne qui est.
Abstract Man{
}
Abstract Woman{
}
L'utilisation de la classe pour définir une personne peut implémenter l'interface profession pour définir ce que la personne peut faire et la personne étendre la classe abstraite pour définir qui il/elle est.
Class Mark extends Man, Implements SoftwareEngineer{
code(){
}
}
Ce que je voudrais expliquer quelqu'un au sujet de l'interface et de la différence abstraite de ma compréhension. Mais je me demande comment répondre à deux questions ci-dessous:
Vous ne pouvez pas instancier une classe abstraite, alors si vous faites l'homme et la femme comme abstraite comment pouvez-vous instancier ces classes. Comment peut-il être utile? Pourquoi avez-vous fait l'homme et la femme abstraite, pourquoi ne pouvez-vous pas simplement les faire comme une interface. La classe les implémentera au lieu de l'étendre.
Telles sont les questions que je me pose. Je pourrais manquer quelque chose ici. Appréciez les idées dans cet exemple.
Pourquoi 'Man' est-il une classe abstraite? "Homme" et "Femme" devraient être des classes concrètes. 'Mark' ne devrait pas être une * classe *; plutôt "Human" devrait avoir un champ 'name' et une * instance * de' Man' devrait avoir un nom '' Mark "'. – Bohemian
Merci ... J'essayais de voir si je pouvais utiliser n'importe quelle classe abstraite dans mon exemple, donc j'ai utilisé Man. Mais il semble que cela n'a pas de sens, comme vous l'avez expliqué. Y a-t-il une classe abstraite que je peux introduire dans mon exemple qui aurait du sens pour expliquer quelqu'un? –
J'ai l'impression que votre déclaration est fausse. Prenons un scénario du monde réel, vous ne pouvez pas dire «Homme» et «Femme» sont une chose inachevée tout comme «humain» .Vous pouvez avoir «Humain» comme homme abstrait et la femme peut être étendue – soorapadman