как наследовать функциональность родительского конструктора в дочерний конструктор - PullRequest
0 голосов
/ 05 июля 2018

Я написал класс NewsApi () и создал его дочерний класс Cricket (). Ниже приведены фрагменты кода: Класс NewsApi

class NewsApi(object):

    def __init__(self, parameter, country):
        self.parameter = parameter
        self.country = country
        self.top_headlines = 
        newsapi.get_top_headlines(q=self.parameter,country=self.country)
        self.description = []
        self.url = []
        self.image_link = []
        self.title = []
        self.sources = []
        for article in self.top_headlines['articles']:
            self.description.append(article['description'])
            self.url.append(article['url'])
            self.image_link.append(article['urlToImage'])
            self.title.append(article['title'])
            self.sources.append(article['source']['name'])

Итак, я хочу создать класс крикета, унаследованный от класса NewsApi (). Также я хочу добавить специфическую функциональность конструктора класса NewsApi в класс Cricket (). Поскольку я не хочу снова писать тот же код в конструкторе класса Cricket ().

class CricketNews(NewsApi):
    get_every = newsapi.get_everything(q="Cricket",
                                        from_parameter=yesterday_date,  
                                        to=today_date,
                                        language='en',
                                        sort_by='relevancy',
                                        page=2)

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете использовать метод Super для вызова методов суперкласса.

class CricketNews(NewsApi):
    def __init__(self, parameter, country):
        super(CricketNews, self).__init__(parameter, country)
        # your init code.

       get_every = newsapi.get_everything(q="Cricket",
                                    from_parameter=yesterday_date,  
                                    to=today_date,
                                    language='en',
                                    sort_by='relevancy',
                                    page=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...