Запитання з тегом «setters»

7
Чому ланцюжок сетерів нетрадиційний?
Ведення ланцюга на бобах дуже зручно: не потрібно перевантажувати конструкторів, мегаконструкторів, заводів, а також підвищує читабельність. Я не можу придумати жодних недоліків, якщо ви не хочете, щоб ваш об’єкт був непорушним , і в такому випадку у нього все одно не було б ніяких сетерів. Тож є причина, чому це …

8
Чи повинен мій послідовний збірник починатися з індексу 0 або індексу 1?
Я створюю об’єктну модель для пристрою, який має кілька каналів. Іменники, що вживаються між клієнтом і мною, є Channelі ChannelSet. ("Набір" не є семантично точним, оскільки він впорядкований, а правильний набір - не. Але це проблема в інший час.) Я використовую C #. Ось приклад використання ChannelSet: // load a …

7
Якщо змінна має getter та setter, чи повинна вона бути загальнодоступною?
У мене є клас зі змінною, яка є приватною, а в класі є геттер і сетер для цієї змінної. Чому б не оприлюднити цю змінну? Єдиний випадок, на який я думаю, що вам доведеться використовувати getters і setters, якщо вам потрібно виконати якусь операцію, крім набору або get. Приклад: void …

3
Властивості заглушки з приватними установками для тестів
У нас є об’єкт public class MyObject{ protected MyObject(){} public string Property1 {get;private set;} public string Property2 {get;private set;} public string Property3 {get;private set;} public string Property4 {get;private set;} public string Property5 {get;private set;} public string Property6 {get;private set;} public string Property7 {get;private set;} public string Property8 {get;private set;} public …

4
Чи може перейменування методу зберегти інкапсуляцію?
Я читав цю сторінку про те, коли геттери / сетери виправдані, і ОП дав такий зразок коду: class Fridge { int cheese; void set_cheese(int _cheese) { cheese = _cheese; } int get_cheese() { return cheese; } } void go_shopping(Fridge fridge) { fridge.set_cheese(fridge.get_cheese() + 5); } У прийнятій відповіді зазначено: До …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.