When I was first learning JAVA and still now when I read about any OO language, the author goes to great lengths to talk about :"blueprints" vs "the object" - in one text I see blueprints for a house and then an actual house. One author after explaining the blueprint/plan/object idea then refered to the latter as "a real live breathing object." I gasped.
A real live breathing object? really? Aren't we talking about computer storage here?
It took me a while to understand that a class was merely a user-defined data type which not only included the usual data variables, but functions that manipulated the data passed to these varibles. Simple. And they are functions/procedures, even if you re-define them as "methods".
And an "object" is nothing more than a variable whose "type" is the defined by the "class". For the life of me, I cannot understand the need for this type of re-defintion and elaborate explanation using houses, dogs, and bicycles. Are we all not well grounded in the concepts of data types, variables, functions/procedures, and computer storage and access?