#17 - Основы ООП Python

#17 - Основы ООП Python

В этом уроке мы с вами приступим к изучению ООП в языке Python. ООП это объектно ориентированное программирование в основе которого является создание класса, а также объекта класса. Мы научимся создавать классы и объекты, а также создадим методы и поля для основного класса!

Видеоурок

На начальном этапе ООП – это тёмный лес, в котором многое непонятно и слишком усложнено. Всё совсем не так. Предлагаем абстрагироваться от специфических (непонятных) определений и всё-таки опишем ООП простыми словами. Человек так устроен, что ему становится всё понятнее на примере. Мы возьмём в роли примера робота.


Класс в случае с роботом – это его чертёж. Экземпляром класса называет целый робот, который создан точно по чертежу.


Наследование – добавление полезных опций к чертежу робота. Мы взяли стандартный чертёж и дорисовали ему лазеры, крылья и броню, потому что у нас заказ на боевую модель.


Полиморфизм – это целая орава роботов, но все они разные, так как созданы на основании различных чертежей. Единственный нюанс – все они берут свои истоки из начального чертежа. Конечная форма наших роботов не имеет принципиального значения. Наша задача сводится к тому, чтобы отдать приказ об уничтожении, а способ достижения цели – это уже не наше дело. Способ зависит от конкретного чертежа, но нас это не касается.


А инкапсуляция является бронёй, защищающей робота. Под пластырем брони находятся уязвимые элементы, вроде проводов и микросхем. После прикрытия брешей с помощью брони (protected или private), робот полностью защищён от внешних вмешательств. 


У всех классов методы (функции) могут отличаться, как и поля (переменные) с конструкторами. Каждый класс позволяет создавать любое количество разных объектов, все из них имеют собственные характеристики.


Чтобы создать класс необходимо использовать ключевое слово class. Далее внутри него можете прописать любые функции и переменные, которые только захотите.

После этого на основе какого-либо класса вы можете создать объект. Для этого используйте название класса для выделения памяти под объект.
class Some:
	pass # Класс может ничего не возвращать

obj_new = Some() # Создание объекта
obj_second = Some() # Создание 2 объекта

Исходный код

Создание класса и объектов
class Person:
	name = "Ivan"
	age = 10
	
	def set(self, name, age):
		self.name = name
		self.age = age
	

vlad = Person ()
vlad.set ("Влад", 25)
print (vlad.name + " " + str(vlad.age))

ivan = Person ()
ivan.set ("Иван", 56)
print (ivan.age)

Онлайн редактор кода

Загрузка...

Задание к уроку

Необходимо оформить подписку на проект, чтобы получить доступ ко всем домашним заданиям

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Уроки Python Django / Создание сайта
12 уроков
Изучение Python до профи / Основы, Django, TKinter
Создание игры на Python 3 с PyGame
5 уроков