在面向对象编程中,仅在构造函数中声明成员是一种特殊的类成员声明方式。通常类成员会在类定义中声明,但有些语言允许或要求在构造函数中声明成员。
class MyClass {
constructor() {
this.member1 = 'value1'; // 在构造函数中声明并初始化成员
this.member2 = 42;
}
}
class MyClass {
constructor(
public member1: string, // 在构造函数参数中声明公共成员
private member2: number // 在构造函数参数中声明私有成员
) {
// 自动将参数赋值给成员
}
}
class MyClass:
def __init__(self):
self.member1 = "value1" # 在构造函数中声明成员
self.member2 = 42
问题1:成员在IDE中无法自动补全
问题2:成员访问时报未定义错误
问题3:继承时成员覆盖问题