0 / 0 / 0
Регистрация: 05.12.2016
Сообщений: 53
|
|
1 | |
Зачем нужны "set" и "get" в классах30.01.2017, 21:58. Показов 8348. Ответов 25
Зачем нужны "set'еры" и "get'еры", если к public членам можно обращаться через указатель на класс. Видел ответы типо: "Так принято", но ведь при обращении к члену класса напрямую быстродействие увеличивается, чем при вызове целой функции. Вообще хочу чётких доказательств "ЗА" и "ПРОТИВ".
0
|
30.01.2017, 21:58 | |
Ответы с готовыми решениями:
25
Зачем нужны get и set? Зачем нужны автоматические свойства? {get; set} Зачем нужны {get; set;} и что это такое? Для чего нужны set.keys(), set.values(), set.entries() ? Set и Get функции в классах |
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
31.01.2017, 21:28 | 21 |
1.
берем поле 2. меняем на проперти 3. в проперти правим get/set 4. PROFIT!!!???
0
|
Ушел с форума
|
|
31.01.2017, 21:43 | 22 |
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
31.01.2017, 21:53 | 23 |
0
|
Ушел с форума
|
|
31.01.2017, 22:35 | 25 |
Ну если мы рассматриваем конкретный случай...
Дело в том, что инкапсуляция уже нарушена и клиенты работают со структурой кто как. Кто-то "честно" пишет и читает поле, используя оператор присваивания. Кто-то может сделать memset, рассчитывая, что там POD-тип определенного размера. Кто-то использует адрес поля как ключ для хранения в своей таблице. И т.д. Не по теме:
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
31.01.2017, 22:37 | 26 |
ну на самом деле способов выкрутиться конечно много.
однако все эти проперти, подстановки - всё это в итоге все равно костыль. и по уму надо рефакторить. лично я делаю так: есть публичный хедер. там всегда всё красиво, канонично, и так, что бы другим людям было удобно читать код. а уже в спп, в безымяный спейс пихаю всякие служебные структурки. там уже как удобнее и быстрее. рефакторить в случае его один маленький файлик не сложно.
0
|
31.01.2017, 22:37 | |
31.01.2017, 22:37 | |
Помогаю со студенческими работами здесь
26
Get и Set в классах и объектах Set и Get функции в классах Зачем нужно private наследование в классах? Зачем создают пустой __construct() в классах по умолчанию Для чего в классах нужны свойства? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |