Python дочерний класс с большим количеством методов - PullRequest
0 голосов
/ 17 января 2019

У меня быстрый вопрос о том, как бороться с проблемой наследования.

Допустим, у нас есть объект транспортного средства

class vehicle(object):

    __init__(registration):
         registration = self.registration

    get_details():
         return "This is a vehicle"

А потом грузовик, который наследует от автомобиля

class truck(vehicle):

      get_details():
         return "This is a truck"

У нас много классов с одинаковыми методами и свойствами, например, автобус, машина, поезд. Тем не менее, у нас также есть самолет, который наследуется от транспортного средства, но только у самолета есть новый метод под названием required_takeoff_distance()

Можно ли использовать его только в классе самолетов или добавить в класс транспортного средства по умолчанию raise NotImplementedError()?

1 Ответ

0 голосов
/ 17 января 2019

Это нормально для дочернего класса, чтобы определить больше методов, чем доступно в родительском классе. Действительно, это обычная причина создания дочернего класса.

Не добавляйте метод с raise NotImplementedError в родительский класс, если вы не пытаетесь определить интерфейс / абстрактный базовый класс . Это почти никогда не требуется в Python, поэтому, если вы не уверены, что это значит, вы можете спокойно об этом забыть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...