Each Python class definition has an implicit superclass: object.
DDaudalagididézett2 évvel ezelőtt
When we define our own class, object is the superclass.
DDaudalagididézett2 évvel ezelőtt
The superclass of all classes, object, has a default implementation of __init__() that amounts to pass. We aren't required to implement __init__(). If we don't implement it, then no instance variables will be created when the object is created.
DDaudalagididézett2 évvel ezelőtt
Refactoring is better than adding if statements.
DDaudalagididézett2 évvel ezelőtt
"Explicit is better than implicit."
DDaudalagididézett2 évvel ezelőtt
In this example, we factored the __init__() method into the superclass so that a common initialization in the superclass, Card, applies to all the three subclasses NumberCard, AceCard, and FaceCard.
DDaudalagididézett2 évvel ezelőtt
A small domain of static objects may be part of implementing a Strategy or State design pattern. In some cases, we may have a pool of constant objects created in an initialization or configuration file, or we might create constant objects based on command-line parameters.
DDaudalagididézett2 évvel ezelőtt
This can make the Strategy or State design patterns work efficiently by reusing objects from a small, static pool of constants.
DDaudalagididézett2 évvel ezelőtt
We define a function that creates objects of the required classes. We define a class that has methods for creating objects. This is the full factory design pattern, as described in books on design patterns. In languages such as Java, a factory class hierarchy is required because the language doesn't support standalone functions.
DDaudalagididézett2 évvel ezelőtt
The advantage of class definitions in general is to achieve code reuse via inheritance.
fb2epub
Húzza és ejtse ide a fájljait
(egyszerre maximum 5-öt)