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

Инкапсуляция, проба писать правильно

13.08.2014, 17:53. Показов 679. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
тема не та:
работа с наследованием передача параметров.

Есть класс:

Кликните здесь для просмотра всего текста
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
public class employee {
    private String name;
    private int age;
    private String gender;
    private int salary;
 
    //setters
 
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
 
    //getters
 
    public String getGender() {
        return gender;
    }
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public int getSalary () {
        return salary;
    }
}


производный класс:

Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class manager extends employee {
    private static int bonusSalary;
 
    manager (String name, int age, String gender, int salary, int bonusSalary) {
 
        this.bonusSalary = bonusSalary;
        setName(name);
        setAge(age);
        setGender(gender);
        setSalary(salary);
        
    }
 
    public static void setBonusSalary(int bonusSalary) {
        manager.bonusSalary = bonusSalary;
    }
 
    public static int getBonusSalary() {
        return bonusSalary;
    }
}


Вопрос скорее всего дикий, но задать, задам.

Правилен ли, (элегантен) такой вариант? Я понимаю что это все очень индивидуально, но есть же какие то рамки, все же может работать но не быстро или через костыли.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2014, 17:53
Ответы с готовыми решениями:

Учусь писать правильно
Всем доброго времени суток. Начал изучать Java. Написал небольшую программку, которая запрашивает две строки (типа логин и пароль),...

Как правильно писать условия (if)
Почему выводит последний метод, хотя не должен выводить его, не так ли? Давайте темам осмысленные заголовки (тема переименованна) ...

Инкапсуляция или как правильно отделить логику
Делаю проект в WPF(но это не важно). Вопрос таков: может ли класс где обработчики всех событий формы, иметь переменную(другой класс, в...

7
13.08.2014, 19:55

Не по теме:

Цитата Сообщение от LpsoldierMike Посмотреть сообщение
Я понимаю что это все очень индивидуально, но есть же какие то рамки, все же может работать но не быстро или через костыли.
дело тут не в индивидуальности, а скорее в том, что Вы много читали, но мало программировали и теперь эти знания смешиваются в кучу

0
 Аватар для newb_programmer
238 / 238 / 113
Регистрация: 03.09.2011
Сообщений: 558
13.08.2014, 21:00
LpsoldierMike,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class employee {
    public employee (String name, int age, String gender, int salary){
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.salary = salary;
    }
}
public class manager extends employee {
    public manager (String name, int age, String gender, int salary, int bonusSalary) {
        super(name, age, gender, salary);
        this.bonusSalary = bonusSalary;
    }
}
0
Вежливость-главное оружие
 Аватар для some_name
233 / 234 / 86
Регистрация: 19.02.2013
Сообщений: 1,446
13.08.2014, 21:40
Цитата Сообщение от LpsoldierMike Посмотреть сообщение
Правилен ли, (элегантен) такой вариант? Я понимаю что это все очень индивидуально, но есть же какие то рамки, все же может работать но не быстро или через костыли.
Конкретно в данном случае сложно сделать что-то не так, ибо пример тривиален. Для начала сойдет
0
 Аватар для RussBear
1 / 1 / 1
Регистрация: 06.08.2014
Сообщений: 68
14.08.2014, 04:49
LpsoldierMike, это же пример из Хорстмана в чистом виде. Так что все нормально. А все остальное придет со временем.
Не по теме:
Заказчику абсолютно поровну какой у Вас код - красивый или нет. Главное, чтобы все работало быстро и не падало через раз.
0
14.08.2014, 10:37

Не по теме:

Цитата Сообщение от RussBear Посмотреть сообщение
Заказчику абсолютно поровну какой у Вас код - красивый или нет. Главное, чтобы все работало быстро и не падало через раз.
Очень недальновидное утверждение.

После того как вы сдали проект с кривым кодом, который однако работает и не падает, заказчик придет и попросит сделать ещё небольшую штуку, которая должна делаться легко и быстро поэтому стоит недорого. Он заплатит вам 1000р за час вашей работы, однако когда вы откроете код, вы поймете что в силу плохого дизайна, чтобы сделать то что нужно заказчику, вам нужно переписать целый модуль, затратив на это 10 часов (и получив по факу 100р в час) а так же сломав попутно то, что работало раньше. В итоге вы получили мало денег, заказчик сказал что сломалось то что работало раньше и поэтому вы должны починить это бесплатно. Думаю можно не продолжать.

0
 Аватар для RussBear
1 / 1 / 1
Регистрация: 06.08.2014
Сообщений: 68
14.08.2014, 10:43
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Очень недальновидное утверждение.
После того как вы сдали проект с кривым кодом, который однако работает и не падает, заказчик придет и попросит сделать ещё небольшую штуку, которая должна делаться легко и быстро поэтому стоит недорого. Он заплатит вам 1000р за час вашей работы, однако когда вы откроете код, вы поймете что в силу плохого дизайна, чтобы сделать то что нужно заказчику, вам нужно переписать целый модуль, затратив на это 10 часов (и получив по факу 100р в час) а так же сломав попутно то, что работало раньше. В итоге вы получили мало денег, заказчик сказал что сломалось то что работало раньше и поэтому вы должны починить это бесплатно. Думаю можно не продолжать.
Да тут я не спорю даже. Просто ТС интересует "красота кода", а это понятие субъективное. То о чем Вы говорите относится не к красоте, а к грамотному проектированию приложения.
0
1 / 1 / 0
Регистрация: 10.11.2010
Сообщений: 81
14.08.2014, 11:23  [ТС]
Цитата Сообщение от RussBear Посмотреть сообщение
Да тут я не спорю даже. Просто ТС интересует "красота кода", а это понятие субъективное. То о чем Вы говорите относится не к красоте, а к грамотному проектированию приложения.
Я такого слова даже не упоминал.
Я сейчас много читаю с разных источников, и пробую найти адекватный подход, что бы потом не делать глупостей. Вот и возникают вопросы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.08.2014, 11:23
Помогаю со студенческими работами здесь

Что значит "Писать как все" или "Писать правильно на WPF"?
Доброго времени суток! Объясните, пожзалуйста, "дураку", что значит "писать на WPF как все" или "писать правильно на WPF"?...

Как писать правильно?
Привет, форумчане... Мой вопрос, больше к профессионалам. Какой из этих двух вариантов кода более правильный? <a...

Как писать правильно?
switch (true) { case ($a == $aa and $b == $bb): case ($a == $ab and $b == $ba): default: }

Как на писать правильно ?
В одномерном массиве, состоящем из N вещественных элементов, вычислить: 1) Сумму положительных элементов массива 2) ...

Как правильно писать урл рф
Задумался... Как правильней с точки зрения оптимизации для яши, но ваще всех других пс... ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru