Python: Объектно-ориентированное программирование (ООП)

Цель урока:
Изучить принципы объектно-ориентированного программирования (ООП) в Python и научиться создавать классы и объекты.

Что мы узнаем:
  • Что такое классы и объекты.
  • Принципы ООП: инкапсуляция, наследование, полиморфизм.
  • Как создавать и использовать классы в Python.

Теоретическая часть

Что такое классы и объекты?


Классы определяют шаблон для создания объектов, а объекты являются экземплярами класса.

Пример класса:
class Dog:
    def init(self, name):
        self.name = name

    def bark(self):
        print(f"{self.name} гавкает!")

my_dog = Dog("Шарик")
my_dog.bark()  # Выведет "Шарик гавкает!"

Принципы ООП


  • Инкапсуляция: сокрытие деталей реализации.
  • Наследование: возможность унаследовать свойства и методы родительского класса.
  • Полиморфизм: способность объектов иметь одно и то же имя метода, но разное поведение.

Пример наследования:
class Animal:
    def speak(self):
        pass

class Cat(Animal):
    def speak(self):
        print("Мяу!")

cat = Cat()
cat.speak()  # Выведет "Мяу!"

Практическое применение


ООП позволяет создавать более гибкие и управляемые программы, облегчая их расширение и модификацию.

Практическая часть
Задача 1: Создайте класс "Автомобиль":
Определите класс с методами движения и остановки автомобиля.
class Car:
    def start_engine(self):
        print("Двигатель запущен.")

    def stop_engine(self):
        print("Двигатель выключен.")

car = Car()
car.start_engine()  # Выведет "Двигатель запущен."

Задача 2: Создайте иерархию животных:
Создайте классы Dog, Cat, Bird, использующие общие методы поведения.
class Animal:
    def eat(self):
        print("Животное ест.")

class Dog(Animal):
    def bark(self):
        print("Гав-гав!")

dog = Dog()
dog.eat()  # Выведет "Животное ест."
dog.bark()  # Выведет "Гав-гав!"

Итог урока:
Сегодня мы познакомились с основными принципами ООП и научились создавать классы и объекты. Эти знания помогут создавать эффективные и удобные программы.

Справочник Python
Автор:  01.10.2025 07:23:03 am