I l@ve RuBoard Previous Section Next Section

6.11 Summary

This chapter has been about two special objects in Python—classes and instances—and the language tools that create and process them. Class objects are created with class statements, provide default behavior, and serve as generators for multiple instance objects. Together, these two objects support full-blown object-oriented development and code reuse. In short, classes allow us to implement new objects, which export both data and behavior.

In terms of their main distinctions, classes support multiple copies, specialization by inheritance, and operator overloading, and we explored each of these features in this chapter. Since classes are all about namespaces, we also studied the ways they extend module and function namespace notions. And finally, we explored a few object-oriented design ideas such as composition and delegation, by seeing how to implement them in Python.

The next chapter concludes our core language tour, with a quick look at exception handling—a simple tool used to process events, rather than build program components. As a summary and reference of what we learned in this chapter, here's a synopsis of the terms we've used to talk about classes in Python:

Class

An object (and statement) that defines inherited attributes

Instance

Objects created from a class, which inherit its attributes, and get their own namespace

Method

An attribute of a class object that's bound to a function object

self

By convention, the name given to the implied instance object in methods

Inheritance

When an instance or class accesses a class's attributes by qualification

Superclass

A class another class inherits attributes from

Subclass

A class that inherits attribute names from another class

I l@ve RuBoard Previous Section Next Section