nixhacks.net/content/python_oop.rst

60 lines
2.1 KiB
ReStructuredText
Raw Normal View History

2022-09-30 17:54:01 +03:00
:title: Питонячье ООП на уточках
:date: 24 Jul 21
========================
Питонячье ООП на уточках
========================
Это весьма скупая на информацию напоминалка о работе с классами.
* `Class definitions`_
* `ООП на Python: концепции, принципы и примеры реализации`_
**duck.py**:
.. code-block:: python
# Объявляем класс "птица". От него в последствии будет унаследован
# класс "уточка". Здесь задаются общие характеристики для всех птиц
# и метод "летать". Аргумент `self` это ссылка на объект, в контексте
# которого вызывается метод. Она обязательна для методов классов.
class Bird(object):
can_fly = True
wings = 2
def fly(self):
print('I\'m flying!')
# Уточка это уже конкретный биологический вид (опускам породы и
# виды уточек).
# У неё есть имя и цвет (хотя цвет мог быть и у абстрактной птицы).
# Также уточка обладает уникальным методом "сказать кря".
class Duck(Bird):
name = 'Duck'
color = 'Yellow'
def say_quack(self):
print('quack!')
Как этим пользоваться:
.. code-block:: text
>>> import duck
>>> bird = duck.Bird()
>>> duck = duck.Duck()
>>> bird.fly()
I'm flying!
>>> duck.fly()
I'm flying!
>>> duck.say_quack()
quack!
>>> duck.name = 'Cool Duck'
>>> duck.name
'Cool Duck'
.. Links
.. _ООП на Python\: концепции, принципы и примеры реализации: https://proglib.io/p/python-oop/
.. _Class definitions: https://docs.python.org/3/reference/compound_stmts.html#class-definitions