20.03.2014 / 05:40 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Ксакеп (19.03.2014/19:26)samodelkin, не возможно, а открой доки:public class Vector<E> { // ... protected Object[] elementData; //}
Обьясни пожайлуста поподробнее об этом, а то я не совсем понимаю. Изменено samodelkin (20.03 / 05:42) (всего 1 раз) |
20.03.2014 / 06:08 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| ВитаминКО (20.03.2014/01:59)собсно так и сделал.порой раздражают такие топики.. мол, видите, какой я прошаренный. и все такие, да, действительно так. пусть даже ничего не понимают, пишут чтобы за ло}{ов не посчиталинемноТы единственный, кто не понимает, кстати.
__________________
Эль Презеденте |
20.03.2014 / 10:42 | |
AHiLLA Пользователь Сейчас: Offline
Имя: Али Откуда: Махачкала Регистрация: 19.01.2010
| Its_Your_Soul, Спасибо, попробую
|
20.03.2014 / 11:33 | |
Kalter Пользователь Сейчас: Offline
Имя: Гриб Откуда: Оренбург - Нежинка Регистрация: 16.10.2013
| В этом ничего страшного нету? Открыть спойлер Закрыть спойлер public class NonName{
public int curx=6;
}
Я о том, что не желателен прямой доступ к полям, а только через методы. Почему? __________________
Homo homini penis est. |
20.03.2014 / 12:03 | |
Freddy Пользователь Сейчас: Offline
Имя: Игорь Откуда: Воронеж Регистрация: 30.01.2010
| Kalter, Открыть спойлер Закрыть спойлер [code] public class Earth { public int temperature; }
public class Villain { private Earth earth = new Earth();
public void destroyEarth() { earth.temperature = 1000000; //людишки изжарились } } [/сode] и [code] public class Earth { private final int MAX_TEMPERATURE = 40; private int temperature;
public void setTemperature(int temperature) { if(temperature <= MAX_TEMPERATURE) { this.temperature = temperature; //жизнь вне опасности } }
public class Villain { private Earth earth = new Earth();
public void destroyEarth() { earth.setTemperature(1000000); //Супергерой Setter спасёт планету } } [/сode]
Изменено Freddy (20.03 / 12:07) (всего 2 раза) |
20.03.2014 / 12:30 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Freddy, то есть ответ очевиден- инкапсуляция поля защищает его от нежелательных значений, а прямой доступ наоборот убирает защиту от нежелательных значений.
Изменено samodelkin (20.03 / 12:31) (всего 1 раз) |
20.03.2014 / 12:37 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Может в простых программах или играх инкапсуляция не так много дает, но если речь идет о огромных программных системах, например где лишний градус може сделать катастрофу(атомный реактор), то тут встает вопрос о защите от нежелательных значений.
|
20.03.2014 / 13:36 | |
Virus-ON Пользователь Сейчас: Offline
Имя: Макс Откуда: Чернигов Регистрация: 13.10.2011
| Kalter, Читал стати aNNiMON'a по ООП? Это помогает абстрагироваться, сделать код проще, чище и понятнее. |
20.03.2014 / 14:19 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| Virus-ON, согласен, еще мои статьи можно почитать, там есть про ооп,тоже дают некоторую абстракцию,принципы реального мира, бодрость.
Изменено samodelkin (20.03 / 14:21) (всего 1 раз) |
20.03.2014 / 16:40 | |
Oak Пользователь Сейчас: Offline
Имя: Коля Откуда: Москва Регистрация: 02.06.2010
| Kalter, представь, что тебе внезапно стало нужно проверять присваиваиваемое значение на какое-то условие. Тогда бы тебе пришлось искать по всей программе такое присваивание и везде внедрять проверку. А если у тебя будет setCurX(int x), тогда тебе будет достаточно изменить код этого метода.
__________________
Эль Презеденте Изменено Oak (20.03 / 16:40) (всего 1 раз) |