> I have alwasy considered data types such as strings, integers, floats, > etc to be objects that just come "built in" to the language - simple > objects, perhaps, but objects none-the-less.
A big problem I had when first trying to wrap my head around object oriented programming was that the discipline has really co-opted very generic terms (e.g. object) and given them a very specific meaning. I don't know if this has helped or hurt OOP adoption. It definitely took me some time getting used to. Nevertheless, in order to make that initial break through with OOP, I had to internalize the terminology. Part of that means differentiating between intrinsic, primitive data types and full fledged objects. A lot has already been written on this subject by people far brighter than I, so I won't attempt a definition. I'll leave that to Google: http://www.google.com/search?hl=en&q=what+is+an+object > Its kind of hard for me to explain but they do in fact model real > world objects (words, sentencs, numbers, etc) and provide > methods/operations that can be performed. When building systems, the most natural thing to do is to model the entities after real world objects. However, an important difference is that an object -- in the OOP sense -- is self aware. A string primitive is very dumb. It doesn't know how long it is. A string object, on the other hand, can usually tell you all sorts of things about itself. In fact, a string object will only tell you as much as the string object wants you to know -- as much as is safe to tell you. If you haven't checked it out already, you might want to pick up a copy of the classic GofF book Design Patterns. Most of the patterns in that book are discussed in the context of building a Word processor. I think that book is very apropos to this discussion based on your examples of "words" and "sentences" as objects. > Maybe I use the term "object" too loosely in this regard - but if so > it is a failing I will probably never fully get rid of :O) "Object" is about as generic a term as you can get. I guess we should be happy that we're not calling everything "things". :) Nevertheless, in the OOP sense, you are using it too loosely. You shouldn't forget what the word "object" means to the rest of world, but you should definitely internalize what it means in object oriented programming. Otherwise, you'll find the way hard going. I know I did. Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' in the message of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com). An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
