Board index » delphi » Objects, Objects, Objects...

Objects, Objects, Objects...

Does anyone know of any good books (the simpler, the better)
that describe the process of creating and coding objects?

I ask this because I come from a background of procedural
programming. When I use Delphi I get the distinct feeling
that I'm missing out on a large part of the power that
the language has to offer. However, I'm out of school
and don't have the time or money to go back and get a
formal education in object-oriented programming.

In other words, I'm not looking for a Delphi book so much
as I'm looking for a general introduction and tutorial for
object-oriented programming. How does one approach a
programming problem using objects, and how does one design
and build objects and the interactions between objects prior
to writing a single line of code?

If anybody knows of a good resource for this type of study,
would you mind sharing it? Thanks.

--
*****************************************************
** Battery Life May Vary and is Dependent Upon Use **
*****************************************************
To reply by e-mail, remove NO-TRASH from return address.

 

Re:Objects, Objects, Objects...


Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> wrote in article
<336E58CE.3...@NO-TRASH.mayo.edu>...

Quote

> Does anyone know of any good books (the simpler, the better)
> that describe the process of creating and coding objects?

Simple intro is a book by David Taylor, I think the title
is "OO for Managers". After I learned what objects were about,
I wish I had seent his book first. Good graphics, too.

Check out another book I don't have: The CRC Method, can't
remember authors either. This presents a method for the
design of OO programs.

My own path came thru TP6.0, fighting the documentation
all the way. Crystallization of the ideas came with BP7 and
TurboVision.

expect this process to take a while.

--
Grace + Peace   *   Peter N Roth  *   Engineering Objects International
Author of "C++ Jump Start" ISBN 0-9655862-2-7.
Tools for Developers: ClassBuilder 4 for Delphi, ClassBuilder++ for C++
Visit our website at http://www.inconresearch.com/eoi

Re:Objects, Objects, Objects...


Quote
> If anybody knows of a good resource for this type of study,
> would you mind sharing it? Thanks.

The Delphi 2 Unleashed book seems to have a fairly decent section on OOP. Check it
out at the book store first to make sure that is indeed what you are looking for.

        Dave

--
( reply-to address changed to avoid the spammers, use the following e-mail address
)
daveg AT unpronounceable.com
http://www.unpronounceable.com/daves

Re:Objects, Objects, Objects...


In article <336E58CE.3...@NO-TRASH.mayo.edu>,
   Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> wrote:

Quote
>Does anyone know of any good books (the simpler, the better)
>that describe the process of creating and coding objects?
.
>If anybody knows of a good resource for this type of study,
>would you mind sharing it? Thanks.

One book I perused that gave a very good shake of the stick towards
object-orientation and Delphi in specific was a book called "The Way
of Delphi" - you could recognize it because it was not an immensely
fat book :)

  --=- Ritchie Annand

Re:Objects, Objects, Objects...


Verily, "Peter N Roth" <pete*r...@erols.com (remove '*' to email me)>
spake thus:

Quote
>My own path came thru TP6.0, fighting the documentation
>all the way. Crystallization of the ideas came with BP7 and
>TurboVision.
>expect this process to take a while.

So True!!!!!!!!

Even though I have understood the ideas parrot fashion for nearly a
year, one only really learns the best way to do things OO style having
gotten them wrong the first time. I found a common mistake I made was
to make my objects too big and complex... it can be very hard to
figure out how to subdivide everything neatly...

It's quite a subtle concept thing... and it slowly filters in over
several months... and some of the most subtle concepts can take years
to filter in (or so I am told) ... it's often punctuated by several
flashes of insight when you see how OO can make things so much more
powerful :-)

I reckon that you're beginning to figure out the power of OO when you
take some early projects you did, which were badly designed, s{*word*99}
4,000 lines worth of them, and figure out how to rewrite that 4,000
lines in about 2,000 (as I am currently doing for my latest bit of bad
design :-) ), and then realise that this 2,000 line OO method is still
more flexible and expandable than the original version was!!

Martin H.
***********************************************
Martin Harvey
Uni email: mch24@remove this.cam.ac.uk
Home email: mch24@remove this.harvey27.demon.co.uk
Uni web pages: http://www-stu.pem.cam.ac.uk/~mch24/

Remove appropriate bits from my sig to reply to me
(The junk mail is driving me barmy).
***********************************************

Re:Objects, Objects, Objects...


Verily, Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> spake thus:

Quote
>Does anyone know of any good books (the simpler, the better)
>that describe the process of creating and coding objects?
>I ask this because I come from a background of procedural
>programming. When I use Delphi I get the distinct feeling
>that I'm missing out on a large part of the power that
>the language has to offer. However, I'm out of school
>and don't have the time or money to go back and get a
>formal education in object-oriented programming.
>In other words, I'm not looking for a Delphi book so much
>as I'm looking for a general introduction and tutorial for
>object-oriented programming. How does one approach a
>programming problem using objects, and how does one design
>and build objects and the interactions between objects prior
>to writing a single line of code?
>If anybody knows of a good resource for this type of study,
>would you mind sharing it? Thanks.

I agree in that if you don't yet have the hang of OO programming,
you're missing the part of the language where you can have your cake
and eat it!!

I can't think of any particularly appropriate books that haven't
already been mentioned, but I've found that it's often a good idea to
write little demo programs which use OO... and then think about how
you wrote them, and rewrite them a different way using more / less OO.

eg:

I wrote a communications interface which posted newsgroup articles via
TCP/IP ... it had the article header objects, article body objects,
group objects, and list objects which would contain lists of any of
the above.... all very nice, but I had an object that "unpicked" the
other objects in order to send them.... the "procedural way"...

once you've done something like this you often realise that you're
doing something wrong when the coding gets rather repetitive. Often,
when starting to write OO programs (or if like me you didn't have a
clear enough concept of what you wanted to do in the first place),
it's a good idea to just rewrite one, twice (or even three) times,
just to get a fell of all the different options that OO allows you...

A Good case-study that you can have a go at is:

Implement a logical "spreadsheet cell", which can contain either text
integers or floating point,

eg TCell

and then derived, TIntegerCell, TRealCell, TStringCell.

(Logical = non visible).

Devise conversion routines to create one sort of cell when given
another as a parameter.

Devise routines to make a carbon copy of a cell. (virtual method that
is overridden?)

Devise routines to make a cell display it's output (another virtual
overriden jobbie).

Devise routines that will take two cells and add them to create a
third cell... being in mind you need to type check the first two cells
and decide what sort of a cell you want to make given them:

eg Add(a,b:TCell):TCell

Some of the rules might be:

TIntegerCell+TRealCell=TRealCell
TCell+TStringCell=TStringCell

etc etc...

If I remeber rightly this was an example exercise I rather liked when
starting out OO programming... I'll see if I can find you the details
:-)

Martin H.

***********************************************
Martin Harvey
Uni email: mch24@remove this.cam.ac.uk
Home email: mch24@remove this.harvey27.demon.co.uk
Uni web pages: http://www-stu.pem.cam.ac.uk/~mch24/

Remove appropriate bits from my sig to reply to me
(The junk mail is driving me barmy).
***********************************************

Re:Objects, Objects, Objects...


R.Annand <anna...@cadvision.com> wrote in article
<5km5bd$3...@elmo.cadvision.com>...
[]

Quote
> One book I perused that gave a very good shake of the stick towards
> object-orientation and Delphi in specific was a book called "The Way
> of Delphi" - you could recognize it because it was not an immensely
> fat book :)

Avoid this one: "The Tao of Objects" by Gary Entsminger.
What irritated me about this book was what I considered to be an
inordinate number of errors.  It was so bad, that after buying
this book I foreswore ever buying anything published by M&T again.
I keep it around as a bad example.

--
Grace + Peace   *   Peter N Roth  *   Engineering Objects International
Author of "C++ Jump Start" ISBN 0-9655862-2-7.
Tools for Developers: ClassBuilder 4 for Delphi, ClassBuilder++ for C++
Visit our website at http://www.inconresearch.com/eoi

Re:Objects, Objects, Objects...


i can suggest you : Object Oriented Software Construction From Bertrand
Meyer. This is the most comprehensive book i know on the subject. i
guaranty you will never program or even design the same way as before. This
book is build around Eiffel, probably the most advanced OO language. The
reason i choose Delphi is that it was more adapted to the window
environment while being the closest i found from Eiffel.

Another excellent book is the one from Grady Booch.

Good reading

Jean-Marie GALLIOT jm.gall...@canis.net

Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> wrote in article
<336E58CE.3...@NO-TRASH.mayo.edu>...

Quote
> Does anyone know of any good books (the simpler, the better)
> that describe the process of creating and coding objects?

Re:Objects, Objects, Objects...


Peter N Roth wrote

Quote
> Avoid this one: "The Tao of Objects" by Gary Entsminger.
> What irritated me about this book was what I considered to be an
> inordinate number of errors.  It was so bad, that after buying
> this book I foreswore ever buying anything published by M&T again.
> I keep it around as a bad example.

Peter is sooo right!  I would have to agree.  Not only do quite a few of
the "Delphi" examples NOT WORK, they are not, IMO, very good at
illustrating object concepts.  Furthermore, the text tries to be a simple
primer, and as a result leads you in some strange directions.

Knowing objects before reading that book, I would say that it was a waste
of a few days of my life!

Many have referred to Booch's book, Object-Oriented Analysis and Design
with Applications.  Again, IMO, it is a phenomenal book, albeit maybe a
little difficult for a beginner.  If you read it first, you will want to
read it again after you are comfortable with OO.  It is amazing how much
information is in there, that I know I did not pick up the first time
through.

I must admit, we might all want to thank you for asking the question... it
is interesting the read all the different perspectives on what a GOOD OO
book is.  I think I am going out today to look at Jean-Marie's
recommendation, Object Oriented Software Construction.

GNP,
Ken
--------------------------------------
Notice at no time do my fingers leave my hands...
This Internet thing...  it's a fad!  ;-)
--------------------------------------
Master Certified Delphi 3 Instructor
Master Certified C++Builder Instructor
http://www.knowledgeable.com
k...@knowledgeable.com
+

Re:Objects, Objects, Objects...


Quote
Peter N Roth wrote:

> Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> wrote in article
> <336E58CE.3...@NO-TRASH.mayo.edu>...

> > Does anyone know of any good books (the simpler, the better)
> > that describe the process of creating and coding objects?

> Simple intro is a book by David Taylor, I think the title
> is "OO for Managers". After I learned what objects were about,
> I wish I had seent his book first. Good graphics, too.

> Check out another book I don't have: The CRC Method, can't
> remember authors either. This presents a method for the
> design of OO programs.

"Using CRC Cards : An Informal Approach to Object-Oriented Development
(Advances in Object Technology, No 6)"
         Nancy M. Wilkinson; Paperback; @ $29.00 each
Quote

> My own path came thru TP6.0, fighting the documentation
> all the way. Crystallization of the ideas came with BP7 and
> TurboVision.

> expect this process to take a while.

> --
> Grace + Peace   *   Peter N Roth  *   Engineering Objects International
> Author of "C++ Jump Start" ISBN 0-9655862-2-7.
> Tools for Developers: ClassBuilder 4 for Delphi, ClassBuilder++ for C++
> Visit our website at http://www.inconresearch.com/eoi

Re:Objects, Objects, Objects...


a very good introduction to OOP is a book called the tao of objects by
entsminger.  it goes over what OOP is about and then gives an example of a
neural net in c++.  that part went over my head at the time that i read it
but the OOP explanation was very good.  c++ books are usually good sources
of practical OOP information.  i just started c++ primer plus and that's
very good so far.  most of my current work is in visual foxpro but there
were no good visual foxpro OOP books because most foxpro programmers are
bad procedural code programmers (joke).  so looking at c++ books should
give you an idea of what OOP is.  at least it worked for me.

Quote
On Tue, 06 May 1997 12:42:40 GMT, mc...@cam.ac.uk (Martin Harvey) wrote:
>Verily, Edward McSweeney <emcswee...@NO-TRASH.mayo.edu> spake thus:

>>Does anyone know of any good books (the simpler, the better)
>>that describe the process of creating and coding objects?

>>I ask this because I come from a background of procedural
>>programming. When I use Delphi I get the distinct feeling
>>that I'm missing out on a large part of the power that
>>the language has to offer. However, I'm out of school
>>and don't have the time or money to go back and get a
>>formal education in object-oriented programming.

>>In other words, I'm not looking for a Delphi book so much
>>as I'm looking for a general introduction and tutorial for
>>object-oriented programming. How does one approach a
>>programming problem using objects, and how does one design
>>and build objects and the interactions between objects prior
>>to writing a single line of code?

>>If anybody knows of a good resource for this type of study,
>>would you mind sharing it? Thanks.

>I agree in that if you don't yet have the hang of OO programming,
>you're missing the part of the language where you can have your cake
>and eat it!!

>I can't think of any particularly appropriate books that haven't
>already been mentioned, but I've found that it's often a good idea to
>write little demo programs which use OO... and then think about how
>you wrote them, and rewrite them a different way using more / less OO.

>eg:

>I wrote a communications interface which posted newsgroup articles via
>TCP/IP ... it had the article header objects, article body objects,
>group objects, and list objects which would contain lists of any of
>the above.... all very nice, but I had an object that "unpicked" the
>other objects in order to send them.... the "procedural way"...

>once you've done something like this you often realise that you're
>doing something wrong when the coding gets rather repetitive. Often,
>when starting to write OO programs (or if like me you didn't have a
>clear enough concept of what you wanted to do in the first place),
>it's a good idea to just rewrite one, twice (or even three) times,
>just to get a fell of all the different options that OO allows you...

>A Good case-study that you can have a go at is:

>Implement a logical "spreadsheet cell", which can contain either text
>integers or floating point,

>eg TCell

>and then derived, TIntegerCell, TRealCell, TStringCell.

>(Logical = non visible).

>Devise conversion routines to create one sort of cell when given
>another as a parameter.

>Devise routines to make a carbon copy of a cell. (virtual method that
>is overridden?)

>Devise routines to make a cell display it's output (another virtual
>overriden jobbie).

>Devise routines that will take two cells and add them to create a
>third cell... being in mind you need to type check the first two cells
>and decide what sort of a cell you want to make given them:

>eg Add(a,b:TCell):TCell

>Some of the rules might be:

>TIntegerCell+TRealCell=TRealCell
>TCell+TStringCell=TStringCell

>etc etc...

>If I remeber rightly this was an example exercise I rather liked when
>starting out OO programming... I'll see if I can find you the details
>:-)

>Martin H.

>***********************************************
>Martin Harvey
>Uni email: mch24@remove this.cam.ac.uk
>Home email: mch24@remove this.harvey27.demon.co.uk
>Uni web pages: http://www-stu.pem.cam.ac.uk/~mch24/

>Remove appropriate bits from my sig to reply to me
>(The junk mail is driving me barmy).
>***********************************************

----------------------=>)FNKSHN FOR FOXPRO 2.X(<=-------------------------
Try out the Top Ten Downloaded* FNKSHN library written by Perry Fect
And did I also mention that it's *FREE*!?!?
http://w3.nai.net/~perfecto/fnkshn.html
Coming Soon: RocknRoll for VFP: The Object-Oriented Followup to FNKSHN
----------------------=>)FNKSHN FOR FOXPRO 2.X(<=-------------------------
* FNKSHN made the Top Ten Downloads list on the Visual FoxPro Yellow Pages

Other Threads