Vyacheslav
Только начинаю осваивать не процедурное программирование.
Ситуация такая: Хочу попробовать написать простенькую игрушку. Нужно как-то иннициализировать константы глобального плана, например, размер игрового поля, цвет бекграунда, размер минимальной точки (графика в виде кубиков) и т.д. Потом попросту, чтоб можно было менять настройки или подгонять поле под размер формы динамически...
Как средствами ООП грамотно это делается?
Оффтопик: Понятно, что можно, как в большинстве рефератов или курсовых работ, запихнуть все в один класс и нахерачить в нём в стиле процедурного программирования используя статические методы. Но вопрос именно в познании теории обьектного программирования.
На ум приходит только, что это должен быть какой-то обьект с предустановлеными полями. Но как реализовать класс с "паблик статик полями" на C# хз.
Vyacheslav
Ну это скорее временное хранилище пользовательских данных и относится именно к специфике Framework-а.
Мне нужно именно понять как в пределах ООП парадигмы инициализировать константы в программе. Например, если ту же задачу реализовывать на Java эти Application Settings уже не прокатят.
Yacc
Vyacheslav писал:
как в пределах ООП парадигмы инициализировать константы в программе.
Если конструктор один, то непосредственно:
Код:
public class foo {
public readonly int width = 100;
...
}
Если конструкторов несколько или важен порядок инициализации полей, то в конструкторе, причём желательно в одном:
Код:
public class foo {
public readonly int width;
public foo():this(100){}
public foo(int width) {
this.width = width;
}
...
}