Similar presentations:
Классы и объекты (1)
1. Объектно-ориентированное программирование (ООП) в Python
Объектноориентированноепрограммирование (ООП)
в Python
print(“ООП”)
2.
Объектно-ориентированное программирование (ООП) — это парадигмапрограммирования, которая организует код вокруг понятий
"объектов" и "классов". Объекты представляют собой сущности
реального мира или абстрактные концепции, обладающие свойствами
(атрибутами) и поведением (методами). Python является
мультипарадигменным языком, но полностью поддерживает ООП,
делая его простым и интуитивным для реализации.
Основные принципы ООП в Python основаны на четырех столпах:
инкапсуляция, наследование, полиморфизм и абстракция. Эти
принципы позволяют создавать модульный, переиспользуемый и
поддерживаемый код. В Python все является объектом — от чисел и
строк до функций и модулей, — что делает язык "объектноориентированным по умолчанию".
3. Классы и объекты
Класс (Class): Класс — это шаблон или чертеж для создания объектов. Онопределяет структуру и поведение объектов. В Python классы определяются с
помощью ключевого слова class, за которым следует имя класса (обычно в
CamelCase). Класс может содержать атрибуты (данные) и методы (функции,
связанные с классом).
Объект (Object): Объект — это экземпляр класса. Каждый объект имеет
собственные значения атрибутов, но следует структуре, заданной классом.
Объекты создаются путем вызова класса как функции, что вызывает метод
инициализации (если он определен).
4. Классы и объекты
# шаблон создания классаclass НазваниеКласса():
def название_метода():
тело метода
# пример созданного класса
class Dog():
def voice():
print("Woof-woof")
# создание экземпляра класса
dog = Dog()
5. Атрибуты и методы
Атрибуты: Это данные, хранящиеся в объекте. Различают:Атрибуты экземпляра (Instance Attributes): Уникальны для каждого объекта и
обычно устанавливаются в методе __init__.
Атрибуты класса (Class Attributes): Общие для всех объектов класса и
определяются на уровне класса.
Методы: Это функции, определенные внутри класса. Они оперируют данными
объекта. Первый параметр метода — всегда self, который ссылается на текущий
экземпляр объекта.
6. Атрибуты и методы
class Dog:# Атрибут класса (общий для всех объектов)
species = “Dvornyaga"
def __init__(self, name, age):
# Атрибуты экземпляра (уникальны для каждого объекта)
self.name = name
self.age = age
# создание экземпляра класса
dog = Dog(“Tuzik”, 2)
7. Атрибуты и методы
Почему нужно использовать ООП:Модульность (разделение ответственности)
Переиспользование кода (наследование, композиция)
Упрощение поддержки и расширяемости
Более естественное моделирование реальных систем
8. Практика
# Задача 1: Простой класс “Car"# Создайте класс Car с атрибутом класса brand = “Moskvich" и атрибутом
экземпляра model.
# Добавьте метод drive, возвращающий "[model] drive ahead!".
# Задача 2: Класс "Книга"
# Создайте класс Book с атрибутом экземпляра title и методом read,
возвращающим "Reading [title]".
9. Практика
# Задача 3: Класс "Студент"# Создайте класс Student с атрибутом класса school = "High School" и
атрибутом экземпляра name.
# Метод greet возвращает "Hello, I am [name] from [school]".
10. Практика
# Задача 4# Создайте класс Student с атрибутом класса university = "My University"
# и атрибутами экземпляра name и age, которые задаются через __init__.
# Добавьте метод introduce, который возвращает строку вида:
# "Я [name], мне [age] лет, учусь в [university]".
11. Практика
# Задача 5: Класс "Ноутбук"# Создайте класс Laptop с атрибутом класса type = "Electronics" и
атрибутами экземпляра brand и price,
# задаваемыми через __init__. Добавьте метод info, возвращающий "[brand]
laptop costs [price]".
programming