First, we will add attributes to a class in Python and then use prefixes to hide specific members of a class. We will use property getters and setters to control how we write and retrieve values to and from related attributes. We will use methods to add behaviors to classes, and we will create the mutable and immutable version of a 3D vector to understand the difference between an object that mutates state and an object that doesn't.
The
TibetanSpaniel
class is a blueprint for dogs that belong to the Tibetan Spaniel breed. This class should inherit from a Dog
superclass, but we will forget about inheritance and other dog breeds for a while. We will use the TibetanSpaniel
class to understand the difference between class attributes and instance attributes.
As happens with any other dog breed, Tibetan Spaniel dogs have some profile values. We will define the following class attributes to store the values that are shared by all the members...