Быстрый в изучении - мощный в программировании
Скрипт ИНВЕСТОР на Python

Попробуйте себя в качестве инвестора имея в помощники мощный алгоритм советника на Python...

Все уроки по PyQt5

PyQt5 реализован как комплект Python-модулей. Он включает в себя около 620 классов и 6000 функций и методов...

Скрипт отправки SMS через Python

Была задача отправить SMS-ки большому списку номеров телефона с уточнением цены за всю рассылку "До" ее отправки...

Наследование. Объектно-ориентированное программирование в Python

Наследование ООП Python

Наследование в Python является важным фактором для понимания принципа работы ООП. Предположим, у вас есть класс (Пример Class1). При помощи наследования мы можем создать новый класс (Например Class2), в котором будет доступ ко всем атрибутам и методам класса Class1, а также к некоторым атрибутам и методам.

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

# -*- coding: utf-8 -*-
class Class1:         # Базовый класс
    def f_func1(self):
        print "Метод f_func1() класса Class1"
 
    def f_func2(self):
        print "Метод f_func2() класса Class1"
 
class Class2(Class1): # Класс Class2 наследует класс Class1
    def f_func3(self):
        print "Метод f_func3() класса Class2"
 
c1 = Class2()         # Создаем экземпляр класса Class2
c1.f_func1()          # Выведет: Метод f_func1() класса Class1
c1.f_func2()          # Выведет: Метод f_func2() класса Class1
c1.f_func3()          # Выведет: Метод f_func3() класса Class2
Как видно из примера, класс Class1 указывается внутри круглых скобок в определение класса Class2. Таким образом, класс Class2 наследует все атрибуты и методы класса Class1. Класс Class1 вызывется базовым классом ими суперклассом, а класс Class2 - производным классом или подклассом.

Если имя метода в классе Class2 совпадает с именем метода класса Class1, то будет использоваться метод из класса Class2. Чтобы вызвать одноименный метод из базового класса, следует указать перед методом название базового класса. Кроме того, в первом параметре метода необходимо явно указать ссылку на экземпляр класса. Рассмотрим это на примере:

Переопределение метода

class Class1:               # Базовый класс
    def __init__(self):
        print "Конструктор базового класса"
    def f_func1(self):
        print "Метод f_func1() класса Class1"
 
class Class2(Class1):       # Класс Class2 наследует класс Class1
    def __init__(self):
        print "Конструктор производного класса"
        Class1.__init__(self) # Вызываем конструктор базового класса
    def f_func1(self):
        print "Метод f_func1() класса Class2"
        Class1.f_func1(self)  # Вызываем метод базового класса
 
c1 = Class2()                 # Создаем экземпляр класса Class2
c1.f_func1()                  # Вызываем метод f_func1()

Результат работы

Конструктор производного класса
Конструктор базового класса
Метод f_func1() класса Class2
Метод f_func1() класса Class1
После работы хочется немного отдохнуть и расслабится в любимую онлайн игру. Но, со временем игры надоедают своим сюжетом и теряется прежний адреналин и азарт. Хорошая игра рулетка в http://casino-cristal.com играя онлайн, можно разрабатывать собственные стратегии игры и начать зарабатывать по взрослому реальные деньги.

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru yandex.ru
Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)