Quelle est la meilleure façon de définir les mots “classe” et d'un “objet” à quelqu'un qui n'a pas utilisé?

Mon voisin, c'est de prendre de "l'introduction à Java", et m'a demandé de l'aider à expliquer quelques-uns de la première journée des concepts. J'ai réalisé que depuis que je fais cela tous les jours, je n'ai pas l'esprit du débutant, et il est difficile de faire le lien entre ce genre de choses à partir de zéro.

L'un qui est en fait difficile pour moi d'expliquer, c'est "ce que le diable est une classe?"


Le meilleur que j'ai jusqu'à présent:

  • Un variable détient un certain type de données, une variable peut être un prénom, une autre variable peut être votre poids en livres.

  • Un méthode est une fonction, elle ne genre de choses, et peut faire des choses avec ces variables. Une méthode peut afficher votre nom sur l'écran, ou vous dire combien de poids vous devez perdre pour avoir un bon IMC ratio.

  • Un objet possède à la fois des variables et des méthodes; un objet peut représenter, selon vous, un deuxième objet pourrait me représenter.

  • Un classe est une sorte de plan ou d'un modèle qui décrit les méthodes et les variables qui seront dans chaque objet. Un objet est instancié (instance d'une classe; un objet est quelque chose, alors que la classe est tout simplement les plans pour faire quelque chose.

Continuer l'exemple, nous avons une Personne de l'objet, qui est instancié pour tenir Alice de données, et une autre Personne de l'objet instancié à tenir Bob de données, et un autre pour Carol, et ainsi de suite.

Comment puis-je régler cet exemple pour faire plus de sens, et/ou ce qui est une meilleure approche? Le mot "instancié" est trop lourd à ce point.

(Je pense que c'est une bonne question, mais elle est évidemment subjectif; marqué comme wiki de la communauté.)

  • C'est peut-être préférable de ne pas mentionner que l'Objet est une Classe...
  • Ou qu'une définition de classe peut être un objet.
  • Peut-être que si vous dites que "instance" signifie "exemple" les choses vont plus facilement. Soit, la meilleure façon d'apprendre est de le mettre en pratique avec des exercices. Je recommande d'obtenir certains de une bonne Java livre.
  • En fait, votre est beaucoup mieux de la description que la plupart que j'ai vu - vous faire la distinction entre le logiciel construit instancié pour désigner les choses et le monde réel des choses, ils se réfèrent aussi. Si vous essayez d'y aller en bas de l'Homme/de la Femme s'étend Personne en route, vous vous retrouvez avec une ontologie plutôt que d'un ensemble cohérent d'objets d'envoyer des messages les uns aux autres pour exécuter une fonction par le concert de leurs activités.
  • Similaire à stackoverflow.com/questions/3323330/... et d'autres affichages.