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



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


Глава 9 • Классы
2019 Tesla Model S 
This car has a 75-kWh battery. 
This car can go approximately 260 miles on a full charge.
Моделирование объектов реального мира
Занявшись моделированием более сложных объектов, таких как электромоби-
ли, вы столкнетесь с множеством интересных вопросов. Является ли запас хода 
электромобиля свойством аккумулятора или машины? Если вы описываете толь-
ко одну машину, вероятно, можно связать метод 
get_range()
с классом 
Battery

Но если моделируется целая линейка машин от производителя, вероятно, метод 
get_range()
правильнее будет переместить в класс 
ElectricCar
. Метод 
get_range()
по-прежнему будет проверять мощность аккумулятора перед определением за-
паса хода, но он будет сообщать запас хода для той машины, с которой он связан. 
Также возможно связать метод 
get_range()
с аккумулятором, но передавать ему 
параметр (например, 
car_model
). Метод 
get_range()
будет определять запас хода 
на основании мощности аккумулятора и модели автомобиля.
Если вы начнете ломать голову над такими вопросами, это означает, что вы мыслите 
на более высоком логическом уровне, не ограничиваясь уровнем синтаксиса. Вы 
думаете уже не о Python, а о том, как лучше представить реальный мир в своем коде. 
И достигнув этой точки, вы поймете, что однозначно правильного или неправиль-
ного подхода к моделированию реальных ситуаций часто не существует. Некоторые 
методы эффективнее других, но для того, чтобы найти наиболее эффективную ре-
ализацию, необходим практический опыт. Если ваш код работает именно так, как 
вы хотели, — значит, у вас все получается! Не огорчайтесь, если окажется, что вы по 
несколько раз переписываете свои классы для разных решений. На пути к написанию 
точного, эффективного кода все программисты проходят через этот процесс.


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




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

    Басты бет