在Java等面向?qū)ο缶幊陶Z言中,構造函數(shù)是一種特殊的方法,用于初始化對象的狀態(tài)。在某些情況下,您可能希望在構造函數(shù)中調(diào)用另一個構造函數(shù),以避免代碼重復并確保所有構造函數(shù)都遵循相同的初始化邏輯。以下是不同編程語言中如何在構造函數(shù)中調(diào)用其他構造函數(shù)的方法:
this()
關鍵字來調(diào)用同一個類中的另一個構造函數(shù)。請注意,this()
調(diào)用必須放在構造函數(shù)的第一行。public class MyClass {
private int x;
private int y;
public MyClass() {
this(0, 0); // 調(diào)用另一個構造函數(shù)
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
base
關鍵字來調(diào)用基類的構造函數(shù)。如果您希望調(diào)用同一類中的另一個構造函數(shù),可以使用this()
關鍵字。public class MyClass {
private int x;
private int y;
public MyClass() : this(0, 0) // 調(diào)用另一個構造函數(shù)
{
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
__init__()
方法來定義構造函數(shù)。要在構造函數(shù)中調(diào)用另一個構造函數(shù),只需在__init__()
方法內(nèi)部調(diào)用它,就像調(diào)用普通方法一樣。class MyClass:
def __init__(self):
self.x = 0
self.y = 0
self.__init__(0, 0) # 調(diào)用另一個構造函數(shù)
def __init__(self, x, y):
self.x = x
self.y = y
請注意,Python中沒有顯式的base
或this
關鍵字,因為所有方法都隱式地綁定到類實例。