[
58
]
Exercises
Write some object-oriented code. The goal is to use the principles and syntax you
learned in this chapter to ensure you can use it, instead of just reading about it. If
you've been working on a Python project, go back over it and see if there are some
objects you can create and add properties or methods to. If it's large, try dividing it
into a few modules or even packages and play with the syntax.
If you don't have such a project, try starting a new one. It doesn't have to be
something you intend to finish, just stub out some basic design parts. You don't
need to fully implement everything, often just a
print("this method will do
something")
is all you need to get the overall design in place. This is called
top-
down design
, in which you work out the different interactions and describe how
they should work before actually implementing what they do. The converse,
bottom-
up design
, implements details first and then ties them all together. Both patterns
are useful at different times, but for understanding object-oriented principles, a
top-down workflow is more suitable.
If you're having trouble coming up with ideas, try writing a to-do application.
(Hint: It would be similar to the design of the notebook application, but with extra
date management methods.) It can keep track of things you want to do each day,
and allow you to mark them as completed.
Now, try designing a bigger project. It doesn't have to actually do anything, but
make sure you experiment with the package and module importing syntax. Add
some functions in various modules and try importing them from other modules
and packages. Use relative and absolute imports. See the difference, and try to
imagine scenarios where you would want to use each one.
Summary
In this chapter, we learned how simple it is to create classes and assign properties
and methods in Python. Unlike many languages, Python differentiates between
a constructor and an initializer. It has a relaxed attitude toward access control.
There are many different levels of scope, including packages, modules, classes,
and functions. We understood the difference between relative and absolute imports,
and how to manage third-party packages that don't come with Python.
In the next chapter, we'll learn how to share implementation using inheritance.
www.it-ebooks.info
Do'stlaringiz bilan baham: |