Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
4 / 4 / 4
Регистрация: 12.05.2015
Сообщений: 40

Наследование

17.03.2016, 21:31. Показов 584. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Запутался с наследованием и с переменными , помогите всё расставить по местам :



Вот то что получилось пока что ...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class Human {
 
    private String name;
    private int year;
    private String sex;
    private int count;
    
    
    public Human(){}
    
    public Human(String name, int year, String sex, int count){
        this.setName(name);
        this.setYear(year);
        this.setSex(sex);
        this.setCount(count);
    }
    
    
    
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getYear() {
        return year;
    }
 
    public void setYear(int year) {
        this.year = year;
    }
 
    public String getSex() {
        return sex;
    }
 
    public void setSex(String sex) {
        this.sex = sex;
    }
 
    public int getCount() {
        return count;
    }
 
    public void setCount(int count) {
        this.count = count++;
    }
}
Производный класс :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import javax.swing.JOptionPane;
 
public class Programmer extends Human{
    String field1;
    private String lvl;
    private String LangList;
    private double Salary[];
    
    public Programmer(String name, int year, String sex, int count, String lvl,String LangList){
            super(name, year, sex, count);
        this.lvl = lvl;
        this.LangList = LangList;
    }
 
    public double Pay(){
        
        
        return 0;
    }
    
    public void infString(){
        System.out.println("ФИО: "+getName()+"  Год рождения: "+getYear()+" г.   Пол: "+getSex()+"  Уровень: "+getLvl()+" "+getLangList());
        System.out.println(" Зарплатта за 11 мсяцев: "+Salary);
    }
    public String getLvl() {
        return lvl;
    }
 
    public void setLvl(String lvl) {
        this.lvl = lvl;
    }
 
    public String getLangList() {
        return LangList;
    }
 
    public void setLangList(String langList) {
        LangList = langList;
    }
    
    public int[] fillArr(int a[]){
        for (int i = 0; i<11; i++){
            field1 = JOptionPane.showInputDialog("Введите время работы за "+i+" месяц: ");
            a[i] = Integer.parseInt(field1);
        }
        return a;
    }
    
    public double[] calculateSalary(int a[],int money){
        for(int i = 0; i<11; i++){
            Salary[i] = a[i]*money;
        }
        return Salary;
    }
}
И реализация :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import javax.swing.JOptionPane;
 
public class Run {
 
    
    public static void main(String[] args) {
        String Field;
        String FIO;
        int age;
        String Sex;
        String Lvl;
        int[] Time = null;
        String List;
        int Paymant;
        
        
        Field = JOptionPane.showInputDialog("Введите ФИO : ");
        FIO = Field;
        
        Field = JOptionPane.showInputDialog("Введите год рождения : ");
        age = Integer.parseInt(Field);
        
        Field = JOptionPane.showInputDialog("Введите пол : ");
        Sex = Field;
        
        Field = JOptionPane.showInputDialog("Введите уровень : ");
        Lvl = Field;
                
        Field = JOptionPane.showInputDialog("Введите навыки : ");
        List = Field;
        
        Field = JOptionPane.showInputDialog("Введите клад за час : ");
        Paymant = Integer.parseInt(Field);
        
        Programmer PRO = new Programmer(List, Paymant, List, Paymant, List, List);
        
        PRO.fillArr(Time);
        PRO.calculateSalary(Time,Paymant);
        PRO.infString();
    }
    
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2016, 21:31
Ответы с готовыми решениями:

Наследование
Всем привет, вопрос про наследование, методы и атрибуты класса с модификатором private наследуются дочерними классами или только public i...

Наследование
Например, есть у меня класс Person и от него наследуется класс Man. Я вполне могу написать вот так: Person person = new Man(); При...

Наследование
Доброго времени суток. public class Developer { private String specialty = &quot;Developer&quot;; public void...

1
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
17.03.2016, 22:42
RossWales,

Не по теме:

Бездарно составлено задание.

1) Методы доступа традиционно называются getters (для чтения) и setters (для записи). Или альтернативно:
a) reader и writers соответственно
b) selectors и mutators соответственно
accessor — это getter+setter

Ну это мелочь, теперь серьёзней, по производному классу «Программист»:

2) «Программист» — это профессия, а не подвид человека.

Отсюда вытекают следующие проблемы:

3) Свойство «Уровень» теперь, при необходимости придётся дублировать во всех «профессиональных» классах, где оно понадобится.

4) Остальные свойства: см. пункт 3.

5) Количество отработанных часов. Это вообще внешние данные, которые должны храниться в системе учёта отработанного времени.

6) Расчёт отпускных. См. пункт 5, также совершенно внешний метод.

7) Расчёт премии. См. пункт 6.

8) Теперь, если нам понадобиться, например, класс «СистемныйАдминистратор», нам мало того, что придётся дублировать всю эту информацию, так мы даже не сможем написать обобщённый метод, например, считающий сумму зарплат всех сотрудников компании, т.к. у всех производных классов базовым будет класс «Человек», у которого нет метода получения ЗП.

Передай преподавателю, что он идиот.



Цитата Сообщение от RossWales Посмотреть сообщение
field1 = JOptionPane.showInputDialog("Введите время работы за "+i+" месяц: ");
В классе Programmer не должно быть никакого использования UI-компонентов.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.03.2016, 22:42
Помогаю со студенческими работами здесь

Наследование
Добрый Вечер!!! Объясните Пожалуйста, какой класс от какого наследуется, какой является главным. Что делает тут аннотация @Override и...

Наследование
Подскажите, как показать, что один класс наследует другой? в с++ было вот так class client_library: public person, к примеру читатель...

Наследование
Создайте пример, демонстрирующий синтаксис вызова в одном из методов класса др. метода этого же класса, а так же переопределите в этом...

Наследование
Дан базовый класс Чиновик и наследники Депутат, Мер, Президент. У базовогокласса есть абстрактный метод “брать взятку” принимающий...

Наследование
Привет) Почему метод show из EvenOdd возращает нули а не значение массива суперкласса? import java.util.*; public class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 09.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru