нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 19/08/12 в 21:50 |
Только начинаю осваивать не процедурное программирование.
Ситуация такая: Хочу попробовать написать простенькую игрушку. Нужно как-то иннициализировать константы глобального плана, например, размер игрового поля, цвет бекграунда, размер минимальной точки (графика в виде кубиков) и т.д. Потом попросту, чтоб можно было менять настройки или подгонять поле под размер формы динамически...
Как средствами ООП грамотно это делается?
Оффтопик: Понятно, что можно, как в большинстве рефератов или курсовых работ, запихнуть все в один класс и нахерачить в нём в стиле процедурного программирования используя статические методы. Но вопрос именно в познании теории обьектного программирования.
На ум приходит только, что это должен быть какой-то обьект с предустановлеными полями. Но как реализовать класс с "паблик статик полями" на C# хз.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 19/08/12 в 22:13 |
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 19/08/12 в 22:35 |
Ну это скорее временное хранилище пользовательских данных и относится именно к специфике Framework-а.
Мне нужно именно понять как в пределах ООП парадигмы инициализировать константы в программе. Например, если ту же задачу реализовывать на Java эти Application Settings уже не прокатят.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 19/08/12 в 23:19 |
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;
}
...
} |
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |