Основные тезисы
1. Стек - это объект, предназначенный для хранения данных с использованием модели LIFO. Стек обычно выполняет как минимум две операции с именами push() и pop().
2. Реализация стека в процедурной модели порождает несколько проблем, которые могут быть решены с помощью методов, предлагаемых OOП (Oбъектно Oриентированное Ппрограммирование):
3. Метод класса на самом деле является функцией, объявленной внутри класса и имеющей доступ ко всем компонентам класса.
4. Часть класса Python, отвечающая за создание новых объектов, называется конструктором и реализована как метод с именем __init__
.
5. Каждое объявление метода класса должно содержать по крайней мере один параметр (всегда первый), обычно называемый self
, и используется объектами для идентификации себя.
6. Если мы хотим скрыть какие-либо компоненты класса от внешнего мира, мы должны начинать его имя с __
. Такие компоненты называются частными.
Упражнение 1
Предполагая, что существует класс с именем Snake
, напишите самую первую строку объявления класса Python
, указав, что новый класс на самом деле является подклассом Snake.
Упражнение 2
В следующем объявлении чего-то не хватает - чего?
class Snakes
def __init__():
self.sound = 'Sssssss'
Упражнение 3
Измените код, чтобы гарантировать, что свойство venomous
является частным.
class Snakes
def __init__(self):
self.venomous = True