我对如何创建重载的构造函数感到有点困惑。
以下是我的任务:
包括以下内容:
i)默认构造函数和重载构造函数 ii)每个属性的访问器和增变器方法。
下面是我的伪代码。从我到目前为止创建的内容,我假设OVERLOADED构造函数是一个带参数的构造函数,但我并不完全确定。
public class Employee
// declarations
private employeeid : integer
private employeesalary : integer
public Employee ()
employeeid = 0
employeesalary = 0
return
public Employee (id : integer, salary : integer)
employeeid = id
employeesalary = salary
return
public num getemployeeid ( )
return employeeid
public num getemployeesalary ( )
return employeesalary
public String getnumberofaccidents ( )
return numberofaccidents
public void setCustomeraget(integer id)
employeeid = id
return
public void setEmployeesalary (integer salary)
employeesalary = salary
return
End Class
示例:
public policy holder (nr : num, age : num, nracct : num)
set policynumber (nr : num)
set customerage (age : num)
set NumberAccident (nrAcct)
答案 0 :(得分:2)
出于这个原因,我总是讨厌教室设置中的psudocode 。你写多少钱?我可以放弃什么,换句话说,我们在这里认为理所当然的是什么?
就重载功能而言,看起来好像你理解它很好。
这是您的默认构造函数,它不带任何参数:
public Employee ()
这是你的其他构造函数确实接受了参数。
public Employee (id : integer, salary : integer)
所以,回答你原来的问题,你是对的。重载的构造函数只是具有多个带有不同参数的构造函数。在您的情况下,我可以通过两种不同的方式调用构造函数来创建类:
Employee myEmployee = new Employee();
OR
Employee myEmployee = new Employee(12, 64500);
在程序员中说你有一个重载的构造函数。
至于代码的 rest :
你做错的一件事是你没有宣布“numberofaccidents”。像这样:
private employeeid : integer
private employeesalary : integer
private numberofaccidents : integer
将访问者和变异者视为“getters”和“setter”。您可能希望将“setCustomeraget”更改为“setCustomerId”。此外,没有“setnumberofaccidents”。尝试并配对你的getter和setter,这样你就可以随时告诉你是否错过了一个。像这样:
public num getSalary()
return employeesalary
public void setSalary(integer salary)
employeesalary = salary
答案 1 :(得分:0)
是。你的代码在右边看起来像它。但是,方法/函数不应该成为类的一部分吗?