Если я хочу создать программу, используя Python2.7
где:Передача значения переменной из одного неродственного класса к другому
1) Есть три класса, а именно: Пометка, Комментирование, и отправка
2) В self.content
для обоих Tagging
и Commenting
классы будут отправлены в self.compact
класса Posting
class Tagging: # Handles Tagging - Create new Tags
def __init__(self):
self.content = []
self.initialTag = ""
def doTag(self): #Tag people
self.initialTag = raw_input("Name to Tag: ")
self.content.append(self.initialTag)
#Tagging can only be done if the user created new post.
class Commenting: #Handles Commenting - Create new Comments
def __init__(self):
self.content = []
self.initialComment = ""
def doComment(self): #Commenting on Posts
self.initialComment = raw_input("Comment: ")
self.content.append(self.initialComment)
#Commenting can only be done on Posts. No Post means no Comment. (Same goes to Tags)
class Posting: #Handles Posting - Create new Posts
def __init__(self):
self.content = [] #Content of the post
self.initialPost = ""
self.compact = [] #Post that contains the Post, Comments, and Tags
#How do I do this?
def doPost(self):
self.initialPost = raw_input("Post: ")
self.content.append(self.initialPost)
Я попытался унаследовать class Posting
как class Tagging
, так и class Commenting
, но я думаю, что использование Inheritance только для одного variable
из class Posting
нелогично.
Может ли кто-нибудь предложить мне лучший способ?
И еще вопрос: являются ли классы Tagging
и класс Commenting
, имеющие Aggregation
отношение к классу Posting
? Или это отношения Association
? (определение слова UML)
Почему, по вашему мнению, базовый класс для захвата общих понятий между классами плохой концепцией? –
@JoachimRosskopf На самом деле, я думал, если у Python есть встроенная функция для передачи значения переменной. Итак, вы говорите, что наследование - лучший способ подойти к такой проблеме? – Beginner
Почему вы просто не передаете значения через функцию __init__? – Netwave