问:为什么父类的构造方法能给子类赋值,父类还要写setter方法,setter方法也是赋值?
首先
构造方法:对象创建时的一次初始化(只能初始化一次)
Setter方法:对象整个生命周期中的多次修改(之后修改维护)
在面向对象编程中,构造方法可以在创建对象时给对象的属性赋予初始值,这是对象第一次被创建时就具备的属性值,构造方法的赋值是对象初始化的一部分。getter和setter方法提供了更多的灵活性和父控制。
其中getter 和setter方法,可以控制对属性的访问和修改(可以在setter方法中添加验证逻辑,确保赋值得1有效性)
继承中的构造方法:父类构造方法赋值,给父类属性赋值,子类先调用父类构造方法赋值,再给子类属性赋值。子类通过构造方法调用父类父类构造方法初始化父类的属性,但之后仍然可以通过setter方法修改父类的属性,并且子类还可以重写setter方法以添加特定行为。