Size: a a a

2020 March 28

AH

Abelard Heit in ГОРИ
Пацаны такой вопрос по си шарпу

Чем принципиально будет отличаться строка
public int a;
От
public int a {get; set;}?
Мы же в любом случае сможем получить доступ к переменной а через ***.a из другого класса.
источник

АК

Андрей Каликин... in ГОРИ
Abelard Heit
Пацаны такой вопрос по си шарпу

Чем принципиально будет отличаться строка
public int a;
От
public int a {get; set;}?
Мы же в любом случае сможем получить доступ к переменной а через ***.a из другого класса.
В get set можно полноценные методы забабахать
источник

AB

Aleksandr Belov in ГОРИ
Тем, что в первом случае, ты подставляешь а в "голом" виде, а во втором, если потребуется, можешь сделать геттер/сеттер не по умолчанию, а с какой-то логикой, или вообще удалив один из них (обычно сеттер, сделав её ридонли)
источник

АК

Андрей Каликин... in ГОРИ
Например, установку dirty флага при изменении
источник

AB

Aleksandr Belov in ГОРИ
Да что угодно)
источник

L

Lain-dono in ГОРИ
Андрей Каликин
Например, установку dirty флага при изменении
(но dirty флаги часто могут считаться антипаттерном)
источник

AH

Abelard Heit in ГОРИ
Андрей Каликин
В get set можно полноценные методы забабахать
Я вот не совсем понимаю зачем нужен private. Именно на практике. Если через геттеры и сеттеры можно получить полноценный доступ к приватной переменной.
источник

АК

Андрей Каликин... in ГОРИ
Lain-dono
(но dirty флаги часто могут считаться антипаттерном)
Почему, надо чаще считать матрицы?
источник

АК

Андрей Каликин... in ГОРИ
Abelard Heit
Я вот не совсем понимаю зачем нужен private. Именно на практике. Если через геттеры и сеттеры можно получить полноценный доступ к приватной переменной.
Классы — это не набор данных, есть книжка про это от Микрософт
источник

АК

Андрей Каликин... in ГОРИ
Забудь турбо Паскаль
источник

L

Lain-dono in ГОРИ
Андрей Каликин
Почему, надо чаще считать матрицы?
В том смысле, что их лучше хранить снаружи в плотном контейнере.
источник

L

Lain-dono in ГОРИ
Но это зависит от ситуации
источник

C

Crystal Melting Dot in ГОРИ
Abelard Heit
Я вот не совсем понимаю зачем нужен private. Именно на практике. Если через геттеры и сеттеры можно получить полноценный доступ к приватной переменной.
Это концепт ооп сектантов о том что данные должны быть скрыты за публичными методами
источник

АК

Андрей Каликин... in ГОРИ
Lain-dono
В том смысле, что их лучше хранить снаружи в плотном контейнере.
А, сразу матрицы преобразований хранить?
источник

АК

Андрей Каликин... in ГОРИ
Но это гемор
источник

AB

Aleksandr Belov in ГОРИ
Abelard Heit
Я вот не совсем понимаю зачем нужен private. Именно на практике. Если через геттеры и сеттеры можно получить полноценный доступ к приватной переменной.
В таком случае вам лучше теорию по ООП почитать)
Переменная - это как ваш кошелёк. Как вам больше понравится, чтобы любой желающий лазил туда в любое время без вашего ведома, или всё же просил денюжку у вас?)))))
источник

АК

Андрей Каликин... in ГОРИ
В плане изменений...
источник

L

Lain-dono in ГОРИ
Андрей Каликин
А, сразу матрицы преобразований хранить?
Если речь идёт о локальных/глобальных матрицах + Isometry/Similarity/Affine трансформации, то можно вместо dirty flag хранить внешнюю битовую маску.
источник

АК

Андрей Каликин... in ГОРИ
Lain-dono
Если речь идёт о локальных/глобальных матрицах + Isometry/Similarity/Affine трансформации, то можно вместо dirty flag хранить внешнюю битовую маску.
Ого, так ведь меньше вычислений
источник

L

Lain-dono in ГОРИ
Андрей Каликин
Ого, так ведь меньше вычислений
Кстати такую маску можно сделать частично атомарной.
источник