- 类与对象
在Python中,类是对象的蓝图,它定义了对象的属性和方法,而对象是类的实例,它具有类的所有属性和方法。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
上例中,Person类定义了name和age两个属性,以及greet方法。Person类的实例person具有name和age属性,以及greet方法。
- 方法
方法是类定义的一部分,它允许对象执行某些操作。方法可以访问对象的属性,并使用它们来执行操作。
person.greet()
上例中,person.greet()调用了person对象的greet方法,该方法打印了"Hello, my name is [name] and I am [age] years old."。
- 属性
属性是类定义的一部分,它存储对象的数据。属性可以被方法访问和修改。
person.name = "Bob"
person.age = 30
上例中,person.name被设置为"Bob",person.age被设置为30。
- 继承
继承允许一个类从另一个类继承属性和方法。派生类可以访问和使用基类的所有属性和方法。
class Student(Person):
def __init__(self, name, age, grade):
super().__init__(name, age)
self.grade = grade
def study(self):
print(f"{self.name} is studying.")
上例中,Student类从Person类继承了name和age属性,以及greet方法。Student类还定义了一个新的属性grade,以及一个新的方法study。
- 多态
多态是指对象能够以不同的方式响应相同的调用。这允许在不修改代码的情况下使用不同类型的对象。
def greet_person(person):
person.greet()
greet_person(person)
greet_person(student)
上例中,greet_person()函数可以接受Person或Student对象作为参数。当调用greet_person(person)时,person.greet()被调用,打印"Hello, my name is [name] and I am [age] years old."。当调用greet_person(student)时,student.greet()被调用,打印"Hello, my name is [name] and I am [age] years old. I am in grade [grade]."。
- 总结
Python中的类和对象是程序设计中的基本概念,它们使程序员能够创建具有可重用代码的对象,从而提高代码的可维护性和可读性。