Here goes, as much for my benefit as anyone else's and this is designed to be imperfect but explanatory to people like me who have been confused for years.
Method: the "how to" for straightforward, repeatable programming code, like function or procedure, can be included in many Classes (think "programs") and can be passed info (parameters) and passes back info (return)
Example: 1. read_from_database(table name), 2.Write_to_database(table name), 3.Get_user_input_form
Class: a program (or template, they call it) that has its own code, variables, defaults, forms, arrays, etc., and may optionally include one or many Methods
Example: "subscribe, unsubscribe from distribution list"
Object: think of this as an instance or instantiation of the Class. Suddenly the "template" is real and its variables are populated.
---
Examples:
Methods:
show_Form
get username
get password
show banner
read from database
get user input
write to database
Class:
"subscribe, unsubscribe from distribution list"; which contains all the "glue" that holds and coordinates all the Methods" So far we're working on paper and screen, nothing is running yet and all we have created is a “template”.
Object:
Now we invoke the Object i.e. run the program or Class, and all the variables get populated and defaults default, and it is no longer a template, whether you're desk checking it by running through I/O examples or actually running the program.
This would explain why Class and Object tend to be used interchangeably, much as "database" and "instance" are used interchangeably, however the one (database) is shut down and the other (instance) is running version of the database, with memory allocated and so on.
In my mind, Class is the non-running, template or program, whereas Object would be the Class, alive and running with all its variables populated or defaulted, etc. Subtle difference.
I know there is more to it, but how far off the basics am I?