Переопределение метода в Python
Опубликовано: 2023-01-28Оглавление
Предпосылки для понимания переопределения метода:
Переопределение методов — одна из наиболее важных концепций объектно-ориентированного программирования. Реализация конкретной функции в дочернем классе, определенном в родительском классе, может быть изменена путем переопределения метода. Переопределение метода можно определить как способность дочернего класса изменять выполнение метода, предлагаемого одним из его родительских классов, называемых предками. Чтобы переопределить функцию, класс должен соответствовать следующим критериям.
- Наследуемый класс: выполнение переопределения функций внутри класса невозможно. Необходимо наследование дочернего класса от родительского класса.
- Сигнатура переопределенной функции в дочернем классе и в родительском классе должна быть одинаковой. Другими словами, переопределенная функция и функция в родительском классе должны иметь одинаковое количество аргументов и параметров.
Обзор переопределения методов в Python:
Как определено ранее, свойство переопределения метода объектно-ориентированного языка программирования, в силу которого подкласс предоставляет конкретную реализацию метода, уже предлагаемого одним из его суперклассов. Говорят, что метод в подклассе (дочернем классе) переопределяет метод суперкласса (родительского класса), когда метод подкласса имеет те же параметры или сигнатуру, то же имя и идентичный возвращаемый тип или подтип, что и метод в его суперклассе.
Объект, используемый для вызова исполняемого метода, определяет его версию. Версия в суперклассе будет выполнена, если объект в суперклассе используется для вызова метода. Однако, если метод вызывается объектом в подклассе, будет выполнена версия дочернего класса. Другими словами, тип объекта, на который делается ссылка, используется для определения версии переопределяемого и выполняемого метода. Версия переопределенного метода не определяется типом ссылочной переменной.
Ознакомьтесь с курсами по науке о данных upGrad
Преимущества переопределения метода:
Основное преимущество переопределения метода в Python заключается в том, что класс предлагает модель, определенную им самим, для унаследованного метода без изменения кода родительского класса. Эта функция также полезна в случаях, когда дочерний класс использует родительский класс с несколькими дочерними классами. В этом случае метод и параметры родительского класса могут быть вызваны дочерним классом без изменения кода родительского класса.
Изучите наши популярные курсы по науке о данных
Высшая программа высшего образования в области науки о данных от IIITB | Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений | Магистр наук в области науки о данных Университета Аризоны |
Расширенная сертификационная программа в области науки о данных от IIITB | Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. | Курсы по науке о данных |
Читайте наши популярные статьи о науке о данных
Карьерный путь в науке о данных: подробное руководство по карьере | Карьерный рост в науке о данных: будущее работы уже здесь | Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу |
Актуальность науки о данных для менеджеров | Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным | 6 главных причин, почему вы должны стать специалистом по данным |
Один день из жизни Data Scientist: что они делают? | Развенчан миф: Data Science не нуждается в кодировании | Бизнес-аналитика и наука о данных: в чем разница? |
Различия между переопределением метода и перегрузкой метода
Переопределение метода | Перегрузка метода |
Методы или функции как в родительском, так и в дочернем классе должны иметь одинаковые сигнатуры и одинаковые имена. | Функции или методы должны иметь одинаковые имена. Однако их подписи не обязательно должны быть одинаковыми. |
Это пример полиморфизма во время выполнения. | Этот процесс является примером полиморфизма времени компиляции. |
Наследование является обязательным для переопределения методов в Python. | В некоторых случаях может потребоваться наследование классов. Однако это может потребоваться не во всех случаях. |
Переопределение метода происходит между методами родительского и дочернего классов. Однако это не может произойти внутри класса. | Перегрузка методов происходит между методами внутри одного класса. |
Эта функция используется для изменения поведения существующих методов. | Он используется, чтобы добавить больше к поведению метода. |
Для выполнения переопределения методов требуется как минимум два класса (дочерний класс и родительский класс). | Никаких дополнительных классов не требуется, потому что происходит перегрузка методов внутри одного класса. |
Если вы хотите подробно узнать о переопределении методов в Python, мы предлагаем вам пройти 18-месячную программу магистра наук в области науки о данных . upGrad предлагает этот курс от IIIT Bangalore и Liverpool John Moore's University. Курс обучает вас таким навыкам, как статистика, прогнозная аналитика с использованием Python, машинное обучение, визуализация данных, аналитика больших данных и многое другое. Учащиеся с глубоким знанием концепций Python имеют хорошие возможности для изучения таких предметов, как глубокое обучение, обработка естественного языка, бизнес-аналитика и инженерия данных.