其数据成员为书名,编号(利用静态变量实现自动编号),书价,并拥有静态数据成员册数,记录图书的总册数,声明一个图书类,在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数
时间: 2023-06-08 19:07:45 浏览: 119
好的,我明白了。这是一个非常基础的面向对象编程的问题。以下是代码实现:
```python
class Book:
total_books = 0 # 静态数据成员,记录图书的总册数
def __init__(self, title, price):
self.title = title # 书名
self.price = price # 书价
self.book_id = None # 图书编号,待自动赋值
Book.total_books += 1 # 每创建一个对象,总册数加 1
self.book_id = Book.total_books # 自动赋值编号
if __name__ == '__main__':
books = [] # 定义对象数组
# 创建多个图书对象,并加入对象数组
books.append(Book('Python 编程从入门到实践', 89))
books.append(Book('深入浅出计算机组成原理', 125))
books.append(Book('数据结构与算法分析', 58))
# 输出总册数
print(f'共有 {Book.total_books} 本图书')
```
输出结果为:
```
共有 3 本图书
```
注意,这里使用了类的静态数据成员 `total_books` 来记录图书的总册数,这是因为该变量是共享的,可以为所有对象实例所共用。同时,在构造方法中,也使用了该变量来自动赋值编号。
阅读全文