Serdar Tumgoren wrote:
Hi everyone,

I was wondering if there's anyone who can offer a use case/rationale
for nested class?

In my Python Pipelines program I have:

class Count:
 ...
 class Counter:
   ...

When an instance of Count is created, one or more instances of Counter are created, belonging to that instance. There is no need for the Counter class to be visible anywhere outside the Count class. Nesting the definition makes that clear and puts the definition where it is easy to find.

Also some day (down the road) there might be some other class in which I'd like to create instances of another class named Counter. Nesting the Counter classes makes that possible.



For, instance, in the following example (taken from here:
http://www.brpreiss.com/books/opus7/html/page598.html):

class A(object):

    def __init__(self):
        self.y = 0

    class B(object):

        def __init__(self):
            self.x = 0

        def f(self):
            pass

My initial thought was that perhaps they inherit the behavior of
parent classes, but that apparently is not the case:

Are there specific situations when nested classes come in handy
(perhaps for grouping conceptually related classes that don't share
attributes?).

Or is it typically better to keep all classes on the same level of a
heirarchy, and then just use inheritance to establish parent-child
relationships where appropriate?



--
Bob Gailer
Chapel Hill NC
919-636-4239
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to