ООП в Python


class A: # Объявление класса
    name = 'class_A' # Поле класса 
    def out(self): # self - обязательный параметр. Это как this в С/С++
        print(self.name)

a = A()      # Создали объект a класса A
a.out()      # class_A
a.arg = 10;  # Добавили аргумент к объекту a
print(a.arg) # 10
b = A()      # Создали объект b класса A
b.name = "object B" # Изменили поле name для объекта b
b.out()      # object B

Инкапсуляция


class A:
    def _out(self): # Метод с подчеркиванием недоступен вне класса
        print("Это приватный метод!")
    def __out_priv(self): # Метод с двойным подчеркиванием недоступен по имени объекта
        print("Это вдвойне приватный метод!")     
a = A()
a._out() # Это приватный метод!
a.__out_priv() # Ошибка! Метод не может быть вызван из объета
a._A__out_priv() # Это вдвойне приватный метод! А так можно вызвать

Наследование


class Car: # Класс автомобиля
    body_type = '' # Тип кузова
    num = 0;       # Номер авто
    def out(self): # Выводим данные об авто
       print(f'type = {self.body_type}, num = {self.num}')
class Car_cupe(Car): # Наследуем от класса Car   
    body_type = 'cupe'   # Меняем свойство от базового класса 
getz = Car() # Создаем экземпляр авто
getz.body_type = 'hatchback' # Задаем тип коузова
getz.num = 794208 # Задаем номер
getz.out() # type = hatchback, num = 794208
solaris = Car_cupe()
solaris.num = 23235
solaris.out() # type = cupe, num = 23235 
2024-06-29



Понравилась страница?
Добавить в закладки
Или поделиться!

Связанные темы

Словари
Исключения
Файлы
Функции в Python
Списки
Циклы
Достоинства и недостатки языка Python
Целые, вещественные и комплексные числа в Python
ООП
Вывод текста
Множества
Строки
Синтаксис языка Python
Время выполнения программы на Python
Кортежи в Python
Типы данных