Основы ООП

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

Создание классов

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

В любом классе можно создавать поля (переменные), методы (функции), а также конструкторы.

Создав новый класс и поместив туда какую-либо информацию мы можем создавать на основе него новые объекты. Объекты будут иметь доступ ко всем характеристикам класса.

Пример простого класса приведен ниже:

class Book:
    pass # Класс может ничего не возвращать

Класс состоит из объявления (инструкция class), имени класса (нашем случае это имя Book) и тела класса, которое содержит атрибуты и методы (в нашем минимальном классе есть только одна инструкция pass).

На основе такого класса мы можем создать множество объектов. Каждый объект в данном случае будет представлять из себя конкретную книжку. Для каждого объекта мы можем указать уникальные данные.

Чтобы создать объект нам потребуется следующий код:

book_new = Book() # Создание объекта
book_second = Book() # Создание 2 объекта

Рассмотрим более сложный пример

class Person:
    name = "Ivan"
    age = 10

    def set(self, name, age):
        self.name = name
        self.age = age

Переменные name и age в классе называться атрибуты класса. Функцияset() методом класса.

Мы можем создать несколько объектов, и продемонстрировать как это все работает

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

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

Конструктор класса — метод init

Большинство классов имеют специальный метод, который автоматически запускается при создании объекта.

Такой метод называется конструктором класса и в языке программирования Python носит имя init. (В начале и конце по два знака подчеркивания.)

Первым параметром, как и у любого другого метода, у__init__ является self, на место которого подставляется объект в момент его создания. Второй и последующие (если есть) параметры заменяются аргументами, переданными в конструктор при вызове класса. Ранее мы рассмотрели пример без конструктора, теперь перепишем наш класс с использованием конструктора.

class Person:
    name = "Ivan"
    age = 10

    def __init__(self, name, age):
        self.name = name
        self.age = age

И примеры создания экземпляра класса с использованием конструктора.

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

Что такое self?

До этого момента вы уже успели познакомиться с ключевым словом self. self – это ссылка на текущий экземпляр класса. В таких языках как Java, C# аналогом является ключевое слово this. Через self вы получаете доступ к атрибутам и методам класса внутри него самого:

class Person:
    name = "Ivan"
    age = 10

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_data(self)
        print (self.name + " " + str(self.age))

Пример использования

vlad = Person ("Влад", 25)
vlad.print_data()

results matching ""

    No results matching ""