ООП на Python
Подписаться на эту рубрику по RSS
При создании экземпляра класса интерпретатор автоматически вызывает метод инициализации __init__(). В некоторых языках программирования данные методы принято называть конструктором и деструктором класса. В языке программирования PHP это будет __construct(); __destruct(). Формат метода:
def __init__(self[, <Значение1>[, <ЗначениеN>]]):
<Выражение>
С помощью метода __init__() можно присвоить значения по умолчанию для атрибутах класса. При создании экземпляра класса начальные значения указываются после имени класса в круглых скобках:
<Экземпляр класса> = <Имя класса>(<Значение1>[, ..., <ЗначениеN>])
Пример использования метода __init__() приведен ниже:
# -*- coding: utf-8 -*-
class HexColor:
def __init__(self):
self.colors = {
'red' : '#ff0000',
'greed' : '#7cfc00',
'blue' : '#4169e1'
}
hex_color = HexColor()
print hex_color.colors['red'] # Получим: #ff0000
# Пример 2: Удваиваем число
class DoubleMe:
def __init__(self, number):
self.result = number * 2
Double = DoubleMe(2)
print Double.result # Получим 4
Далее...
Объектно-ориентированное программирование (ООП) - это способ организации программы позволяющий использовать один и тот же код многократно. В отличие от функции и модулей ООП позволяет не только разделить программу на фрагменты, но и описать предметы реального мира в виде объектов, а также организовать связи между этими объектами.
Основным "кирпичиком" ООП является класс. Классы в Python - это объект, включающий набор переменных и функций для управления этими переменными. Переменные называют атрибутами, а функции - методами. Класс является фабрикой объектов, т.е. позволяет создать неограниченное количество объектов, основанных на этом классе.
Определение класса и создание экземпляра класса в Python
Класс описывается с помощью ключевого слова class по следующей схеме:
class <Название класса>[(<Класс1>[, ..., <КлассN>])]:
[""" Строка документирования """]
<Описание атрибута и методов>
Инструкция создает новый объект и присваивает ссылку на него идентификатору, указанному после ключевого слова class. Это означает, что название класса должно полностью соответствовать правилам именований переменных. После названия класса в круглых скобках можно указать один или несколько базовых классов через запятую. Если класс не наследует базовые классы, то круглые скобки можно не указывать. Следует заметить, что все выражения внутри инструкции class выполняются при создании объекта, а не при создании экземпляра класса. В качестве примера создадим класс, внутри которого просто выводится сообщение: