Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2011, 00:31   #1
mephistophel
Пользователь
 
Регистрация: 09.03.2010
Сообщений: 22
По умолчанию класс Бухгалтер

Доброго времени суток! Опыт программирования на java у меня практически нулевой,но столкнулся с задачей,которую необходимо реализовать:


Создать абстрактный класс Сотрудник. У него должны быть методы для задания ставки (з/п в месяц при 100% отработки), количества отработанных часов, а также методы для получения процента отработанного времени и зарплаты за месяц.
Сотрудники могут быть двух типов: Программист и Менеджер. Программист получает зарплату в соответствии с количеством отработанных часов, а менеджер - 100% в случае переработки и соответствующий процент в случае недоработки.
Класс Бухгалтер принимает множество сотрудников и считает их з/п. Для него должно быть прозрачным, какого типа является сотрудник. Ему важна только зарплата за текущий месяц.
Создать нужно 4 класса: сотрудник,менеджер,программист,бухг алтер.


класс сотрудник,менеджер и программист я создал,но не понимаю, нафиг нужен класс бухгалтер,если у меня зарплата считается в менеджере и программисте,но класс "бухгалтер" должен быть обязательно;класс бухгалтер должен наследовать сотрудника или не обязательно?как вообще подсчёт зарплаты в этом классе организовать?Заранее спасибо за советы.
Вот собственно то,что я уже набросал:

Код:
abstract class Employee
{
	private int ID;
	public String name;
	public String role;
	public int FixedSalary;
	public int worckedHours;
	public Employee()
	{
		ID++;
	}
	public final int getID()
	{
		return ID;
	}
	public void setName(String name)
	{
		this.name=name;
	}
	public void setRole(String role)
	{
		this.role=role;
	}
	public int setFixedSalary(int FixedSalary)
	{
		return this.FixedSalary=FixedSalary;
	}
	public int setWorckedHours(int worckedHours)
	{
		return this.worckedHours=worckedHours;
	}
	public int getWorckedHours()
	{
		return worckedHours;
	}
	public int getFixedSalary()
	{
		return this.FixedSalary;
	}
	public String getName()
	{
		return name;
	}
	public String getRole()
	{
		return role;
	}
 
	public abstract int getPercent();
	public abstract int getFullSalary();
	
}
Код:
class Developer extends Employee
 {
	 static private  final  int HOURS_FOR_MONTH = 160;
	 static private  final  int MAX_SALARY=5000;
	 public  int getPercent()
	 {
		 return getWorckedHours()*100/HOURS_FOR_MONTH;
	 }
	 public  int getFullSalary()
	 {
		 return getFixedSalary()*100/MAX_SALARY;
	 }
 }
Код:
class Manager extends Employee
 {
	 static private  final  int HOURS_FOR_MONTH = 160;
	 static private  final  int MAX_SALARY=4000;
	 public  int getPercent()
	 {
		 if(getWorckedHours()>HOURS_FOR_MONTH)
		 {
			 return 100;
		 }
		 return getWorckedHours()*100/HOURS_FOR_MONTH;
	 }
	 public  int getFullSalary()
	 {
		 return getFixedSalary()*100/MAX_SALARY;
	 }
 }
mephistophel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс DB Rusl92 PHP 2 27.06.2011 00:07
Класс VIK_aka_TOR Общие вопросы C/C++ 2 27.03.2011 17:06
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 14:42
класс Чудский Общие вопросы C/C++ 3 20.10.2010 11:14