编写一个Book类,用于描述个人藏书,包含私有化属性:作者Author、书名Title、价格Price、出版社Publisher、出版年份Published Year五个属性。然后编写一个测试类BookTest,对Book类进行测试,输出正确的属性值。
时间: 2024-02-06 11:04:28 浏览: 98
好的,我知道了。下面是Book类的代码实现:
```python
class Book:
def __init__(self, author, title, price, publisher, published_year):
self.__author = author
self.__title = title
self.__price = price
self.__publisher = publisher
self.__published_year = published_year
def get_author(self):
return self.__author
def get_title(self):
return self.__title
def get_price(self):
return self.__price
def get_publisher(self):
return self.__publisher
def get_published_year(self):
return self.__published_year
```
上述代码中,我们定义了一个Book类,包含了作者、书名、价格、出版社和出版年份五个属性,并对其进行了私有化处理。同时,我们提供了五个公有化的方法get_author、get_title、get_price、get_publisher和get_published_year,用于获取属性值。
接下来,我来编写一个测试类BookTest,对Book类进行测试,并输出正确的属性值:
```python
class BookTest:
def test_book(self):
book = Book('张三', 'Python编程', 68.8, '人民邮电出版社', 2020)
print('作者:', book.get_author())
print('书名:', book.get_title())
print('价格:', book.get_price())
print('出版社:', book.get_publisher())
print('出版年份:', book.get_published_year())
if __name__ == '__main__':
book_test = BookTest()
book_test.test_book()
```
上述代码中,我们定义了一个测试类BookTest,并在其内部定义了一个test_book方法,用于测试Book类的属性值。在test_book方法中,我们创建了一个Book对象book,并设置了其作者、书名、价格、出版社和出版年份属性值。然后,我们通过调用Book对象的相应方法来获取属性值,并输出到控制台上。
运行上述代码,输出结果如下:
```
作者: 张三
书名: Python编程
价格: 68.8
出版社: 人民邮电出版社
出版年份: 2020
```
可以看到,Book类的属性值获取和输出结果都是正确的。
阅读全文