案例 1:银行账户系统
需求:
- 创建一个
BankAccount
类,用于管理银行账户。 该类需要包含以下功能:
- 开户:初始化账户名、账户余额和账户类型(如储蓄、支票)。
- 存款:向账户中添加指定金额。
- 取款:从账户中取出指定金额,余额不足时给出警告。
- 查询余额:显示当前余额。
思路分析:
BankAccount
类包含初始化方法__init__
来设置账户名称、余额和账户类型。- 定义
deposit
和withdraw
方法分别用于存款和取款,确保取款时余额足够。 - 定义
get_balance
方法用于查询余额。
代码实现:
class BankAccount:
def __init__(self, account_name, initial_balance=0, account_type="Savings"):
self.account_name = account_name
self.balance = initial_balance
self.account_type = account_type
def deposit(self, amount):
if amount > 0:
self.balance += amount
print(f"存入 {amount} 元。当前余额:{self.balance} 元")
else:
print("存款金额必须为正数。")
def withdraw(self, amount):
if amount > self.balance:
print("余额不足,无法取款。")
elif amount > 0:
self.balance -= amount
print(f"取出 {amount} 元。当前余额:{self.balance} 元")
else:
print("取款金额必须为正数。")
def get_balance(self):
print(f"{self.account_name} 的当前余额:{self.balance} 元")
# 测试
account = BankAccount("Alice", 1000)
account.deposit(500)
account.withdraw(300)
account.get_balance()
account.withdraw(1500) # 余额不足
案例 2:图书馆系统
需求:
- 创建一个
Book
类,包含书籍的基本信息(如标题、作者、ISBN 编号)。 - 创建一个
Library
类,用于管理图书馆的藏书和借阅记录。 Library
类需要包含以下功能:- 添加书籍:将书籍添加到藏书列表。
- 借书:用户可以借阅指定书籍,若该书已被借出则提示不可用。
- 归还书籍:将书籍归还到图书馆。
思路分析:
Book
类包含书籍的基本信息,如标题、作者和 ISBN 编号。Library
类包含一个books
字典,用于记录图书馆的藏书信息,书籍的可用状态(True
表示可用,False
表示已借出)。- 在
Library
类中定义add_book
、borrow_book
和return_book
方法来管理书籍的借阅和归还。
代码实现:
class Book:
def __init__(self, title, author, isbn):
self.title = title
self.author = author
self.isbn = isbn
class Library:
def __init__(self):
self.books = {}
def add_book(self, book):
if book.isbn not in self.books:
self.books[book.isbn] = {"book": book, "available": True}
print(f"添加书籍:《{book.title}》")
else:
print(f"书籍《{book.title}》已存在于图书馆。")
def borrow_book(self, isbn):
if isbn in self.books:
if self.books[isbn]["available"]:
self.books[isbn]["available"] = False
print(f"成功借出书籍:《{self.books[isbn]['book'].title}》")
else:
print("该书籍已被借出。")
else:
print("该书籍不存在于图书馆。")
def return_book(self, isbn):
if isbn in self.books:
if not self.books[isbn]["available"]:
self.books[isbn]["available"] = True
print(f"成功归还书籍:《{self.books[isbn]['book'].title}》")
else:
print("该书籍已经在馆。")
else:
print("该书籍不存在于图书馆。")
# 测试
library = Library()
book1 = Book("Python Basics", "Author A", "ISBN001")
book2 = Book("Data Science", "Author B", "ISBN002")
library.add_book(book1)
library.add_book(book2)
library.borrow_book("ISBN001")
library.borrow_book("ISBN001") # 已被借出
library.return_book("ISBN001")
library.borrow_book("ISBN003") # 不存在的书籍
案例 3:员工管理系统
需求:
- 创建一个基类
Employee
,包含员工的基本信息(如姓名和薪资)。 - 创建两个子类
Manager
和Developer
,继承Employee
,并在子类中实现特定的方法和属性。 需要提供以下功能:
Manager
类可以管理一个员工列表。Developer
类可以记录其特定的编程语言。- 打印每个员工的信息,区分不同员工类型。
思路分析:
Employee
类作为基类,包含基本信息属性和显示信息的方法。Manager
类继承自Employee
,包含一个员工列表,并可添加管理的员工。Developer
类继承自Employee
,包含一个记录编程语言的属性。
代码实现:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def display_info(self):
print(f"员工姓名: {self.name}, 薪资: {self.salary}")
class Manager(Employee):
def __init__(self, name, salary):
super().__init__(name, salary)
self.employees = []
def add_employee(self, employee):
if isinstance(employee, Employee) and employee not in self.employees:
self.employees.append(employee)
print(f"{self.name} 现在管理员工 {employee.name}")
def display_info(self):
super().display_info()
print("管理的员工:")
for emp in self.employees:
print(f"- {emp.name}")
class Developer(Employee):
def __init__(self, name, salary, language):
super().__init__(name, salary)
self.language = language
def display_info(self):
super().display_info()
print(f"编程语言: {self.language}")
# 测试
manager = Manager("Alice", 100000)
dev1 = Developer("Bob", 80000, "Python")
dev2 = Developer("Charlie", 85000, "JavaScript")
manager.add_employee(dev1)
manager.add_employee(dev2)
manager.display_info()
dev1.display_info()
dev2.display_info()
1 条评论
反驳对手观点时需更注重逻辑严密性。