OOP将类成员转换为另一个类

时间:2017-03-09 16:13:18

标签: python-3.x oop

我有父类广告,有2个孩子直接和Adword。在另一方面,我有父类Campaign与2个孩子DirectCampaign和AdwordsCampaign。 Campaign类包含相应广告子级实例的数组。

class Ad:
    def __init__(self, keyword, negative_keywords, url):
        self.keyword = keyword
        self.negative_keywords = negative_keywords
        self.url = url


class Direct(Ad):

   def __init__(self, keyword, negative_keywords, headline, description, url):

        super().__init__(keyword, negative_keywords, url)

        self.url_with_utm = url + "?"


class Adword(Ad):

    def __init__(self, keyword, negative_keywords, headline1, headline2, description, url):

       super().__init__(keyword, negative_keywords, url)


class Campaign():
    ads = []

    def __init__(self, name):
        self.name = name

    def add(self, ad):
        self.ads.append(ad)


class DirectCampaign(Campaign):
    def __init__(self, name):
        super().__init__(name)


class AdwordsCampaign(Campaign):
    pass


def main():
    direct = DirectCampaign("adv_search")
    direct.import_from_csv('direct.csv')

我的主要目标是将DirectCampaign转换为AdwordsCampaign,但我无法理解如何根据OOP执行此操作(哪个类应该有这样的方法,我应该在那里调用AdwordsCampaign构造函数和之后的Adwords构造函数。)

次要目标是DirectCampain有name属性,我如何在Direct实例中访问它?我应该通过构造函数将它传递给每个Direct实例吗?

欢迎任何代码反馈。

0 个答案:

没有答案
相关问题