Path: text.usenetserver.com!out02a.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!postnews.google.com!news1.google.com!news.glorb.com!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: How is Behavior Specified
Newsgroups: comp.databases.theory,comp.object
User-Agent: 40tude_Dialog/2.0.15.1
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Reply-To: mailbox@dmitry-kazakov.de
Organization: cbb software GmbH
References: <_ZoJj.3574$at6.3220@trndny01> <behavior-20080404144623@ram.dialup.fu-berlin.de>
Date: Fri, 4 Apr 2008 15:12:45 +0200
Message-ID: <fgibxqj4gd1b.1e6tzusihzhnb$.dlg@40tude.net>
Lines: 28
NNTP-Posting-Date: 04 Apr 2008 15:12:45 CEST
NNTP-Posting-Host: 2d095854.newsspool1.arcor-online.net
X-Trace: DXC=N9Jd:??1TZDFJ3]dH>I?oEic==]BZ:afN4Fo<]lROoRA8kF<OcfhCOKjgejJV=G<oMWRXZ37ga[7Jn919Q4_`VjI2BeWDXF7mlMEVi?>oSl5YJ
X-Complaints-To: usenet-abuse@arcor.de
Xref: usenetserver.com comp.databases.theory:171197 comp.object:265560
X-Received-Date: Fri, 04 Apr 2008 08:12:46 EST (text.usenetserver.com)

On 4 Apr 2008 12:49:10 GMT, Stefan Ram wrote:

> "David Cressey" <cressey73@verizon.net> writes:
>>How is behavior specified?
> 
>   The behavior of an object is specified by source
>   code in an object-oriented programming language
>   (often by a class).

Code as a specification? That does not look much OO, I would say.

Actually some parts of the code specify, others implement the behavior.
Good OOPLs provide means to separate specifications and implementations in
a clear way. Further specifications are usually purely declarative [*].
Implementations could be mixed. For example, when a method is inherited,
its implementation is given in a declarative way and constructed by the
compiler.

------------------
Of course there is no crisp boundary between declarative and imperative.
Each declarative construct is imperative for the meta language of
declaration. So, for example, declaration of a derived type is imperative
for the language of types.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
