Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #10395
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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