Jeff,

  Not to rain on the parade but the parenthetical abstract to me doesn't
mean "optional" but it is a definition of the "style" of class. Its sort
of like: we need a (male) soldier to join the infantry. Male is not
optional - it is a description of the type of soldier. (my old military
sense kicking in :)

 

The first case refers to the second case so I believe that is also
inclusive of an abstract definition. And the third case clearly says it
is called from a templateMethod (which was abstract). So C2 by default
says its abstract not concrete. 

 

Even the first link, which includes a nice uml diagram shows the
superclass as abstract. The defining source (gama et. al) describe it
with abstract notation.

 

Now of course it is possible to have template method like behavior in a
concrete class, but if you were a design pattern purist it would not be
a template method

 

Al

 

 

 

 

Reply via email to