我刚接触面向对象编程,还处于学习阶段。
为什么我们需要构造函数?我们可以通过编写“初始化函数”来初始化属性(变量)的值,为什么还要编写构造函数呢?
基本上,即使通过编写初始化变量的函数也能实现相同的结果,为什么我们还要编写构造函数呢?
我刚接触面向对象编程,还处于学习阶段。
为什么我们需要构造函数?我们可以通过编写“初始化函数”来初始化属性(变量)的值,为什么还要编写构造函数呢?
基本上,即使通过编写初始化变量的函数也能实现相同的结果,为什么我们还要编写构造函数呢?
object = new Class;
object.initialize();
object = new Class();
通常将必须的内容放入构造函数中,将可选的内容放入Initialise
函数中。
例如,考虑一个需要电源的放大器,它应该在构造函数中提供。逻辑上,您可能想要打开它并设置其功率级别,但有人可能会认为您可能要稍后再做这件事。伪代码如下:
class Amplifier
{
public Amplifier(PowerSource powerSource)
{
// create amplifier...
}
public int PowerLevel;
public void Initialise()
{
// turn on...
}
}
class Person {
//Class have two parts
//1.Data(instance variable)
//2.Methods(Sub-routine)
String name;
int age;
}
public class Stack{
public static void main(String[] args){
Person person1 = new Person();
System.out.println("Name: "+person1.name);
System.out.println("Age: " + person1.age);
}
}
输出- 名字: null 年龄: 0
“null”和“0”是默认值,由默认构造函数隐式设置。
因为构造函数的作用就是为了避免使用“初始化函数”。
此外,您可以拥有任意数量的构造函数:只需提供一些参数即可,具体取决于您想要如何初始化对象。
构造函数是一种特殊的成员函数,其名称与类名相同,并在创建该类的对象时调用。它们用于初始化对象中的数据字段。
构造函数具有以下属性:
它与类名相同。
每当创建类的对象时都会调用它。
更多信息请参见https://en.wikipedia.org/wiki/Constructor_(object-oriented_programming)。