For the most part, object inheritance goes from the more general, all-encompassing class down to the more specific ones. So, Page is the umbrella over them all, because it is the most generic. A RecentPage is a page that lists recent entries, it's next. A FriendsPage is pretty much on the level of a recent page, really, but it has the tweak of displaying entries from others instead of recent entries in a journal, and reading and network pages use it. It inherits a lot of the code from the RecentPage, so that's its ancestor. Other pages are a lot more different from each other, so for the most part they inherit directly from the main Page (which is controlling basic layout stuff, layout out module areas and headers, etc). The exception is EntryPreviewPage, which is ALMOST like an EntryPage but with a preview, so that's what it inherits from.
Re: Head-scratcher
Date: 2012-12-21 04:23 am (UTC)