This class isn't very useful, because it can only represent one particular flight. We need to make the flight number configurable at the point a Flight is created. To do that we need to write an initializer
method.
If provided, the initializer
method is called as part of the process of creating a new object when we call the constructor. The initializer
method must be called __init__()
delimited by the double underscores used for Python runtime machinery. Like all other instance methods, the first argument to __init__()
must be self.
In this case, we also pass a second formal argument to __init__()
which is the flight number:
class Flight: def __init__(self, number): self._number = number def number(self): return self._number
The initializer
should not return anything – it simply modifies the object referred to by self.
If you're coming from a Java, C#, or C++ background it's tempting to think of __init__()
as being the constructor. This isn't quite...