面向对象编程:Python中的经典问题案例
面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它将数据和操作数据的方法封装在一起。在Python中,OOP的体现尤为明显。
下面是一些经典的Python面向对象编程问题案例:
- 类与对象:
- 编写一个表示动物的基类。
- 创建子类(如狗、猫等),继承基类并添加特定属性。
# 基类 Animal
class Animal:
def __init__(self, name):
self.name = name
# 子类 Dog
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name)
self.breed = breed
dog1 = Dog("Rex", "Golden Retriever")
print(dog1.name) # 输出:Rex
- 封装:
- 将数据(如学生的成绩)存储在对象内部。
- 提供方法(如get_score、set_score等)访问和修改这些数据。
class Student:
def __init__(self, name):
self.name = name
self.scores = {}
# 调用方法访问和修改数据
def set_score(self, subject, score):
if subject in self.scores:
self.scores[subject][0]] = score
else:
self.scores[subject] = [score]
def get_score(self, subject):
return self.scores.get(subject, None)[0]
student1 = Student("Alice")
student1.set_score("Math", 95)
student1.set_score("Science", 85)
print(student1.get_score("Math"))) # 输出:95
- 继承:
- 通过子类继承基类的属性和方法。
- 在子类中,可以添加自己的独特属性和方法。
class Employee(Animal):
def __init__(self, name, department):
super().__init__(name)
self.department = department
# 添加新方法
def get_department(self):
return self.department
employee1 = Employee("Bob", "IT")
print(employee1.get_name()) # 输出:Bob
print(employee1.get_department()) # 输出:IT
这些案例展示了Python面向对象编程的基本概念和使用方式。
还没有评论,来说两句吧...