privatebooleanlunch;//员工午餐
//……等等
publicemployee(){//这个就是“默认”构造函数
name=“jw”;//设置员工姓名
age=20;//设置员工年龄
sex=“M”;//设置员工性别
emolument=100;//设置员工薪水
lunch=false;//设置员工午餐
}
publicvoidheater(){//这个方法是用来加工员工的午餐
lunch=true;
}
//……等等
};
这样,在我们创建“jingwei”这个对象的同时,它的所有的属性也被初始化了!显然,这大大的提高了工作效率,但是,它还是不符合要求。想想看,如果我们现在创建这个类型的第二个对象的时候会发生什么事情?告诉你,除了对象的“名”(这个名称不在是对象属性中的名称,而是对象本身的名称)不一样外,其所有的“属性值”都一样!比如:现在我们创建第二个对象flashmagic,然而我会发现这个对象的所有的属性和jingwei这个对象的所有的属性完全相同。而我们只能在用对象的方法去改变着写属性了!很显然,这种方法不大好!我们需要一种方法在创建对象的时候为对象的属性赋予“我们想要的值”。
相信你也看到了,默认构造函数就显得无能为力了。我们需要的是带参数的构造函数,在创建对象时,我们把参数传给构造函数,这样就能完成了上述的功能!口说无凭,还是来看个实例吧:
//employee.java
publicclassemployee{
privateStringname;//员工姓名
privateintage;//员工年龄
privatecharsex;//员工性别
privatefloatemolument;//员工薪水
privatebooleanlunch;//员工午餐
//……等等
publicemployee(Stringn,inta,chars,floate,booleanl){//看这个构造函数
name=n;//设置员工姓名
age=a;//设置员工年龄
sex=s;//设置员工性别
emolument=e;//设置员工薪水
lunch=l;//设置员工午餐
}
publicvoidheater(){//这个方法是用来加工员工的午餐
lunch=true;
}
//……等等
};
这样一来,在创建对象的同时我们就可以给他赋予我们想要的值,很显然,这可就方便多了。哦,对了!还没有告诉你怎么创建呢!哈哈,往前翻几页你会看到这句话:
jingwei=newemployee();这是创建一个对象,而我们把它改成
jingwei=newemployee(jingwei,20,M,100,false);这样一来,所有的工作都完成了,呵呵!(在创建对象的同时赋予了我们想要的“初值”)
2.3.2重载构造函数:
我还是先把概念给你吧,让你有个认识,随后我们在进行论述。
在JAVA中:
1.函数重载是一个类中声明了多个同名的方法,但有不同的参数个数和参数类型。
2.函数重构是指在子类中声明与父类同名的方法,从而覆盖了父类的方法。重构解决了子类与父类的差异问题。(在讨论到继承时我会详细说明)
在C++中:
1.数重载的概念一样。
2.重构的概念可就不一样了,C++中功能更为庞大的虚函数。更详细内容这里就不错过多介绍了!
其实关于重载的概念你并不陌生,在编程中相信你也接触过。呵呵!让我们来举个操作符重载的例子你就会明白了,(JAVA中不支持这个功能)我们定义三个整数变量:
inti1=2,i2=3,i3=0;
i3=i1+i2;
此时i3=5;加号实现了两个数相加的运算功能。然而我们现在要定义三个字符串变量:
Strin -->>
“小疙瘩小说网”最新网址:https://www.xgedda.com/,请您添加收藏以便访问