Adăugarea de funcționalitate unei clase derivate
Tocmai ai scris o clasă SocialMedia care moștenește funcționalitatea din Document. Momentan, clasa SocialMedia nu are nicio funcționalitate diferită față de Document. În acest exercițiu, vei adăuga caracteristici clasei SocialMedia pentru a o specializa în lucrul cu date din rețele sociale.
Ca referință, definiția clasei Document este prezentată mai jos.
class Document:
# Initialize a new Document instance
def __init__(self, text):
self.text = text
# Pre tokenize the document with non-public tokenize method
self.tokens = self._tokenize()
# Pre tokenize the document with non-public count_words
self.word_counts = self._count_words()
def _tokenize(self):
return tokenize(self.text)
# Non-public method to tally document's word counts
def _count_words(self):
# Use collections.Counter to count the document's tokens
return Counter(self.tokens)
Acest exercițiu face parte din cursul
Principii de inginerie software în Python
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Define a SocialMedia class that is a child of the `Document class`
class SocialMedia(Document):
def __init__(self, text):
Document.__init__(self, text)
self.hashtag_counts = self._count_hashtags()
def _count_hashtags(self):
# Filter attribute so only words starting with '#' remain
return ____