Классы

Вместо долгого вступления начнем сразу с примера. Сравните эти два варианта

hero1_pos = [100, 200]
hero1_vel = [10, 5]
hero1_life = 10

hero2_pos = [150, 300]
hero2_vel = [5, 5]
hero2_life = 20

hero3_pos = [200, 400]
hero3_vel = [0, 5]
hero3_life = 20
hero1 = Hero()
hero1.pos = [100, 200]
hero1.vel = [10, 5]
hero1.life = 10

hero2 = Hero()
hero2.pos = [150, 300]
hero2.vel = [5, 5]
hero2.life = 20

hero3 = Hero()
hero3.pos = [200, 400]
hero3.vel = [0, 5]
hero3.life = 20

Как вы могли догадаться этот код в обоих случаях создает переменную hero обозначающую героя. Для того чтобы сохранить информацию о герое нам надо запомнить определенные параметры этого героя:

  • pos - позиция
  • vel - скорость
  • life - жизни

В первом случае мы поступили как привыкли делать раньше: для каждого параметра героя мы создали отдельную переменную используя _ (hero1_pos, hero1_life и т.д.) а также продублировали все эти переменные для hero2 и hero3.

Во втором случае все совершенно не так. Мы создали всего три переменные hero1, hero2 и hero3, а внутрь этих переменных уже поместили нужные параметры. То есть теперь hero1 - специальная переменная у которой есть параметры hero1.pos, hero1.life и т.д. Параметры с таким же именем есть и у переменных hero2 и hero3.

Именно для создания таких переменных, содержащих параметры и нужны классы.

results matching ""

    No results matching ""