在Python中,類強轉指的是將一個類的對象轉換成另一個類的對象。這個過程需要用到特殊方法__init__和__str__。
首先,我們定義兩個類:Person和Student,其中Person類有name和age屬性,Student類繼承自Person類,并新增了grade屬性。
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f'Name: {self.name}, Age: {self.age}' class Student(Person): def __init__(self, name, age, grade): super().__init__(name, age) self.grade = grade def __str__(self): return f'Name: {self.name}, Age: {self.age}, Grade: {self.grade}'
現在我們創建一個Person對象和一個Student對象:
person = Person('Tom', 20) student = Student('Jerry', 18, 80)
我們可以看到,person對象是Person類的實例,student對象是Student類的實例。如果我們希望把student對象轉換成Person類的實例,我們可以使用如下代碼:
person = Person(student.name, student.age) print(person) # 輸出:Name: Jerry, Age: 18
我們可以看到,通過把student對象的name和age屬性賦給person對象,就將student對象轉換成了Person對象。
注意:雖然我們只轉換了屬性和對象類型,但仍然可以使用Person類的所有方法。
總結,類強轉是將對象從一個類轉換成另一個類的過程,需要用特殊方法__init__和__str__來重寫類的初始化和輸出方法。