A class called Author is designed to model a book's author. It contains: • Three private instance variables: name (String), email (String), and gender (char of either 'm' or 'f'); • An __init__() to initialize the name, email and gender with the given values • Getters/Setters: getName(), getEmail(), setEmail(), and getGender() (There are no setters for name and gender, as these attributes cannot be changed.)
A class called Author is designed to model a book's author. It contains:
• Three private instance variables: name (String), email (String), and gender (char of either
'm' or 'f');
• An __init__() to initialize the name, email and gender with the given values
• Getters/Setters: getName(), getEmail(), setEmail(), and getGender()
(There are no setters for name and gender, as these attributes cannot be changed.)
• A __str__() method that returns printable string of that object with the following format:
"Author[name=?,email=?,gender=?]"
e.g., "Author[name=Tan Ah Teck,email=ahTeck@somewhere.com,gender=m]".
Write the Author class. Also write a test driver code to test all the public functions, e.g.,
ahTeck = Author("Tan Ah Teck", "ahteck@nowhere.com", 'm') # Test the constructor
print(ahTeck) # Test __str__()
ahTeck.setEmail("paulTan@nowhere.com") # Test setter
print("Name is: ", ahTeck.getName()) # Test getter
print("Email is: ", ahTeck.getEmail()) # Test getter
print("Gender is: ", ahTeck.getGender()) # Test getter
Save your code as author.py.
Step by step
Solved in 2 steps