Рейтинг:
2
Jegan Thiyagesan
Привет,
В ОО мире, в основном в C используется как #определить.
Но в мире ОО не рекомендуется использовать переменную в качестве публично видимого члена по многим причинам.
Однако если вы хотите сделать переменную общедоступной, то можете использовать ее как статическую константу.
public static class GlobalVariables
{
public static const int InputNumber = 25;
}
public class Class1
{
var i = GlobalVariables.InputNumber;
}
public class Class2
{
var i = GlobalVariables.InputNumber;
}
Если только входной номер никогда не изменится, я бы не стал использовать его как константу.
Было бы гораздо лучше, если бы вы производили переменную как свойство из производного класса, либо как абстрактный, либо как интерфейс.
Регадры
Джеган
Per Söderlund
Что ты здесь делаешь и почему?
Я не вижу, как это практично и когда его использовать.
Кроме того, почему не рекомендуется использовать общедоступную переменную?
Да, и еще одно: зачем использовать статический const int вместо const int?
Jegan Thiyagesan
Я не совсем понимаю, что вы имеете в виду, говоря: "что я здесь делаю и почему?"
Вы можете использовать глобальную переменную, если приложение имеет некоторые значения по умолчанию, которые заполняются в нескольких формах, если использование изменяет значение по умолчанию, то новое значение будет сохранено в хранилище данных, но если пользователь решил вернуться к значению по умолчанию, то будут применены значения из жестко закодированной глобальной переменной.
В OO переменная никогда не выставляется как публичная, она всегда является частной для класса, к которому она принадлежит, она выставляется только как свойства или гетеры и сеттеры.
Вот статья о том, что должен делать класс http://pragprog.com/articles/tell-dont-ask -да .
const int = эта переменная получит значение только во время своего построения,
static const int = будет только 1 такой член данных всего класса.
Надеюсь, это поможет.
Джеган