Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best way to define the words "class" and "object" to someone who hasn't used them? [closed]

My neighbor is taking "Intro to Java", and asked me to help explain a few of the first-day concepts. I realized that since I do this everyday, I don't have the beginner's mind, and it's hard to relate some of this stuff from scratch.

The one that's actually not trivial for me to explain is "what the heck is a class?"


Best I have so far:

  • A variable holds some kind of data; one variable might be a first name, another variable might be your weight in pounds.

  • A method is a function, it does stuff, and can do stuff with those variables. A method might display your name on screen, or tell you how much weight you should lose to have a good BMI ratio.

  • An object holds both variables and methods; one object might represent you, a second object might represent me.

  • A class is kind of the blueprint or template that describes the methods and variables that will be in each object. An object is an instantiated (instance of a) class; an object is something, while the class is simply the plans to make that something.

Continuing the example, we have a Person object, which is instantiated to hold Alice's data, and another Person object instantiated to hold Bob's data, and another for Carol, and so on.


How do I tune this example to make more sense, and/or what's a better approach? The word "instantiated" feels too heavy at this point.

(I think this is a useful question, but is obviously subjective; marked as community wiki.)


2 Answers

A class and some class instances:

Courtesy of wikipedia

(public domain image hosted by wikipedia)

like image 188
MaximeDesRoches Avatar answered Sep 15 '25 03:09

MaximeDesRoches


Class : Object :: Blueprint : Building

like image 26
3 revs, 2 users 75%Paul Sasik Avatar answered Sep 15 '25 05:09

3 revs, 2 users 75%Paul Sasik