М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет130/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   126   127   128   129   130   131   132   133   ...   334
Байланысты:
Изучаем Python

electric_car.py
❶ 
class Car():
"""Простая модель автомобиля."""
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = f"{self.year} {self.manufacturer} {self.model}"
return long_name.title()
def read_odometer(self):
print(f"This car has {self.odometer_reading} miles on it.")
def update_odometer(self, mileage):
if mileage >= self.odometer_reading:
self.odometer_reading = mileage
else:
print("You can't roll back an odometer!")
def increment_odometer(self, miles):
self.odometer_reading += miles

class ElectricCar(Car):
"""Представляет аспекты машины, специфические для электромобилей."""

def __init__(self, make, model, year):
"""инициализирует атрибуты класса-родителя."""

super().__init__(make, model, year)

my_tesla = ElectricCar('tesla', 'model s', 2019)
print(my_tesla.get_descriptive_name())
В точке 

строится экземпляр 
Car
. При создании класса-потомка класс-родитель 
должен быть частью текущего файла, а его определение должно предшествовать 
определению класса-потомка в файле. В точке 

определяется класс-потомок 
ElectricCar
. В определении потомка имя класса-родителя заключается в круглые 
скобки. Метод 
__init__()
в точке 

получает информацию, необходимую для 
создания экземпляра 
Car
.
Функция 
super()
в строке 

— специальная функция, которая позволяет вы-
звать метод родительского класса. Эта строка приказывает Python вызвать метод 
__init__()
класса 
Car
, в результате чего экземпляр 
ElectricCar
получает доступ 


182

Достарыңызбен бөлісу:
1   ...   126   127   128   129   130   131   132   133   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет