- 1
http://www.quizful.net/interview/java/k4gCs7Qmf8YF
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+133
http://www.quizful.net/interview/java/k4gCs7Qmf8YF
Мне кажется, или кто то накурился?
если я не прав - обьяните(
bormand 28.08.2013 18:42 # −1
kegdan 28.08.2013 18:52 # −2
какая разница, как обращаться, эффект будет один и то же. Только если не перегрузить свойство
roman-kashitsyn 28.08.2013 18:55 # +4
kegdan 28.08.2013 19:02 # −1
А полиморфным... можно конечно, но, имхо, если поле нуждается в особом обращении в каждом классе - нужно делать явные полиморфные методы Get и Set.
bormand 28.08.2013 19:03 # 0
Ну т.е. поля физически нет. Геттер считает его значение на лету. Сеттер, если есть, пишет куда-нибудь в другое поле.
Пример:
kegdan 28.08.2013 19:11 # −2
bormand 28.08.2013 19:05 # +3
Эээ, а геттер и сеттер это что? :)
UPD: А тьфу, вы же с шарпика пришли. Так вот, в жабе, в отличие от шарпа, нет свойств. И геттер и сеттер это самые обычные методы, ничем не отличающиеся от других.
kegdan 28.08.2013 19:14 # −2
Lennis 28.08.2013 19:17 # 0
kegdan 28.08.2013 19:23 # −1
private int _ineg;
public int Ineg
{
get { return _ineg+5; }
set { _ineg = value; }
}
var a = Ineg - вызывается геттер
Ineg = 10 - вызывается сеттер
На этом - все
kegdan 28.08.2013 19:25 # −1
bormand 28.08.2013 19:33 # −1
kegdan 28.08.2013 19:36 # −1
vistefan 29.08.2013 15:37 # −1
Вот такое автоматическое свойство можно создать у предка, а после перегрузить. Кода сэкономится пару строк. (или как-то так). Тогда поле private int _foo; описывать явно не нужно, но оно создастся автоматически. А если всё же описать такое поле явно, то будут коры с конфликтами имён. Это ж шарп.
neeedle 31.08.2013 13:40 # −1
bormand 28.08.2013 18:57 # −1
Челу стоит дополнить свой ответ кодом сабкласса, в котором перегружены геттер и сеттер, тогда будет более-менее верно ;)
roman-kashitsyn 28.08.2013 18:48 # +3
EfremoffPaul 29.08.2013 12:08 # −1