Создание правильного перегруженного конструктора псевдокода - PullRequest
3 голосов
/ 05 ноября 2010

Я немного запутался в том, как создать перегруженный конструктор.

Ниже приведено мое назначение:

Включите следующее:
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)

Ответы [ 2 ]

2 голосов
/ 05 ноября 2010

Я всегда ненавидел псудокод в настройках класса именно по этой причине.Сколько ты пишешь?Что мне разрешено прекратить или, другими словами, что мы считаем само собой разумеющимся здесь?

Что касается перегруженной функции, то, похоже, вы понимаете, что это прекрасно.

Вот ваш конструктор по умолчанию, который не принимает никаких аргументов:

public Employee ()

А вот ваш другой конструктор, который принимает аргументы.

public Employee (id : integer, salary : integer)

Итак, чтобы ответить на ваш первоначальный вопрос,ты прав.Перегруженный конструктор просто имеет несколько конструкторов, которые принимают разные аргументы.В вашем случае я могу создать класс, вызвав конструктор двумя разными способами:

Employee myEmployee = new Employee();

ИЛИ

Employee myEmployee = new Employee(12, 64500);

На языке программиста у вас есть перегруженный конструктор.

Что касается остатка вашего кода:

Одна вещь, которую вы делаете неправильно, заключается в том, что вы не объявили «число несчастных случаев».Вот так:

private employeeid : integer
private employeesalary : integer
private numberofaccidents : integer

Думайте о аксессорах и мутаторах как о «получателях» и «установщиках».Вы можете изменить setCustomeraget на setCustomerId.Кроме того, нет никакого "набора числа несчастных случаев".Попробуйте соединить ваши геттеры и сеттеры так, чтобы вы всегда могли сказать, пропустили ли вы один.Примерно так:

public num getSalary() 
return employeesalary

public void setSalary(integer salary)
employeesalary = salary
0 голосов
/ 05 ноября 2010

Да.Ваш код выглядит как на правильных строках.Однако не должны ли методы / функции быть частью класса?

  • Перегрузка X - это X с другим набором параметров.
  • Accessor - это функция (иногда называемая свойством), которая получает что-то от объекта.
  • Мутатор - это функция (иногда называемая свойством), которая изменяет некоторые аспекты объекта.
...