Python. ООП. Часть 2.
Запись от Фаер размещена 07.11.2012 в 09:41
Показов 3928
Комментарии 0
Метки python, наследование, ооп
|
Кое-чему по ходу прошлой записи, если Вы её читали, Мы уже научились. Теперь можно взяться и за более серьёзные приёмы объектно - ориентированного программирования. Одним из самых мощных инструментов данной парадигмы является наследование. Сдаётся мне, что пояснять значение этого слова не требуется. Если Вы помните, в прошлой записи Мы создали класс под названием car(). Можно догадаться, что любой сотворённый Вами или взятый откуда-то готовый класс создан для того, чтобы использовать его множество раз. Так что давайте сохраним свеженаписанный car() для будущих поколений. Для этого достаточно в чистый скрипт занести описание Нашего класса и, сохранив, перенести его в папку .../Python33/lib, туда, где содержатся стандартные модули. Теперь можно в любой программе смело написать:
Так же можно заменить наследуемый метод другим, просто описав его в новом классе под таким же именем. Согласитесь, это очень удобно: moto() конструируется так же, как car(), принимая те же аргументы, имея те же параметры, те же методы + его собственные качества. Вместо того, чтобы описывать класс с нуля, Мы берём готовый и дополняем/изменяем его. Класс car() при этом становится суперклассом(родительским классом) - классом, на основе которого создаются другие классы(подклассы, дочерние классы). Узнать кто "родитель" того или иного класса можно с помощью атрибута __bases__:
(<class '__main__.car'>,) А вот если Вам нужно получить название класса, к которому относится некий объект используйте:
Присвоение экземпляра класса некой переменной приводит к тому, что Вы создаёте ссылку на объект. Например:
А сейчас на небольшом примере посмотрим, как с помощью наследования можно расширить класс предоставляемый стандартным API Python'а. Сделаем маленькое окно с полем для ввода:
Вот так просто Мы берём виджет Entry() и создаём на его основе класс с трёмя новыми методами (заметьте, что Мы точно так же, как Entry(), привязываемый экземпляр nent к окну и точно так же его pack()'уем). Разумеется, это маленький пример, ООП - мощная парадигма программирования, способная на гораздо большее. | |||||||||||||||||||||||||||||||||||||||||||||
Метки python, наследование, ооп
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 0
Комментарии


