Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #10395

Re: state design pattern: question: inner or outer class: which is better?

From Lew <lewbloch@gmail.com>
Newsgroups comp.lang.java.programmer
Subject Re: state design pattern: question: inner or outer class: which is better?
Date 2011-11-30 19:10 -0800
Organization http://groups.google.com
Message-ID <371153.148.1322709033282.JavaMail.geo-discussion-forums@prnu24> (permalink)
References <4cb57cb9-f87c-4409-9e35-184bdc661f48@l24g2000yqm.googlegroups.com> <4652620.1006.1322680967944.JavaMail.geo-discussion-forums@prfi36> <40add71o90o9p31s9mo3sj468vaj12cb1k@4ax.com> <1854299.24.1322692136633.JavaMail.geo-discussion-forums@preu18> <6addd7tdm8pt96l8sda3spi13cvii3pmi6@4ax.com>

Show all headers | View raw


Gene Wirchenko wrote:
> Lew wrote:
>> Gene Wirchenko wrote:
>>> Lew wrote:
>>> [snip]
>>> 
>>>> As with non-inner nested classes, if the type is needed by any other class
>>>>  and its semantics are not tightly bound to those of the proposed
>>>> outer class, a standalone class is probably more appropriate.
>>>>
>>>> If the semantics are tightly bound to the proposed outer class, and the sprite 
>>> state does not depend on the outer class instance's state, then a
>>>       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>      I do not follow this.  Please explain.
>>> 
>>>  nested class might be appropriate.
>>
>> If an instance of the prospective nested class does not use any of the instance
>  state of the prospective outer class, then it should not be an inner
> class, but it might be a candidate for a nested class.
>>
>> If it does depend on the state of the outer-class instance, for example if it
>  references an instance variable of the outer-class instance, then it
> will have to be an inner class.  This follows directly from the
> inability of a static member to access an instance member.
> 
>      Thank you.  It was a terminology issue.  I got this from Oracle:
> "Nested classes are divided into two categories: static and
> non-static. Nested classes that are declared static are simply called
> static nested classes. Non-static nested classes are called inner
> classes."  Are these the definitions that you are using?

Yes.  I should have said "static nested class" vs. "inner class"; thanks for the reminder.

I use the definitions in the JLS,
<http://java.sun.com/docs/books/jls/third_edition/html/classes.html>
<http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.5.2>

but forgot to specify "static" when I said "nested".  Thanks for having me clarify and, along the way, refresh the rigor of my terminology.

-- 
Lew

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

state design pattern: question: inner or outer class: which is better? John Goche <johngoche99@googlemail.com> - 2011-11-30 09:22 -0800
  Re: state design pattern: question: inner or outer class: which is better? Lew <lewbloch@gmail.com> - 2011-11-30 11:22 -0800
    Re: state design pattern: question: inner or outer class: which is better? Gene Wirchenko <genew@ocis.net> - 2011-11-30 14:04 -0800
      Re: state design pattern: question: inner or outer class: which is better? Lew <lewbloch@gmail.com> - 2011-11-30 14:28 -0800
        Re: state design pattern: question: inner or outer class: which is better? Gene Wirchenko <genew@ocis.net> - 2011-11-30 15:03 -0800
          Re: state design pattern: question: inner or outer class: which is better? Lew <lewbloch@gmail.com> - 2011-11-30 19:10 -0800
            Re: state design pattern: question: inner or outer class: which is better? Gene Wirchenko <genew@ocis.net> - 2011-11-30 19:23 -0800
  Re: state design pattern: question: inner or outer class: which is better? Roedy Green <see_website@mindprod.com.invalid> - 2011-12-02 01:47 -0800
    Re: state design pattern: question: inner or outer class: which is better? Lew <lewbloch@gmail.com> - 2011-12-02 07:27 -0800
  Re: state design pattern: question: inner or outer class: which is better? Arne Vajhøj <arne@vajhoej.dk> - 2011-12-02 21:32 -0500

csiph-web