"Elwin Estle" <chrysalis_reb...@yahoo.com> wrote
Is it better to have one large sort of "do it all" class, or break the larger class up into smaller classes?

Usually the latter. But remember that classes model objects.
Objects usually have a direct relationship to some kind of "real world" entity - even if its an abstract conceptual entity.

So if the attributes and behaviours are all exhibited by the thing you are modelling then they should maybe stay together. But uasually the big thing can be modelled as a composition of smaller things...

Seems to me like the one large class would be clearer in some ways.

Very rarely is a big lump of code clearer than several small
single purpose lumps of code. And big lumps of code are nearly always harder to reuse - one of the other reasons to create classes...

I have something I am trying to do that have somewhere in the neighborhood of 20 attributes that all relate together, however there are sort of "clumps" of attributes that have a sub-relationship to each other

Without specifics we can't be sure. But it sounds like you have a composite structure. OTOH 20 attributes is not enormous - 200 would be, but not 20. But even 20 is enough to challenge.

I have only the foggiest notion of inheritance

It doesn't sound like inheritance is an issue here. It sounds like we are talking about composition. But without specific details we can't be sure.

Remember that the thing that defines a class should be its operations not its data. Do these smaller "clumps of attributes" have common behaviour associated with them? The data should only be there to support the operations.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/


_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to