Вопросы с тегом «static-access»

7
Почему статические члены данных должны быть определены вне класса отдельно в C ++ (в отличие от Java)?
class A { static int foo () {} // ok static int x; // <--- needed to be defined separately in .cpp file }; Я не вижу необходимости A::xопределять отдельно в файле .cpp (или тот же файл для шаблонов). Почему нельзя A::xобъявить и определить одновременно? Было ли это запрещено по …

3
Статические классы со статическими методами считаются SOLID?
SOLID включает принцип подстановки Лискова, который имеет понятие, что «объекты в программе должны заменяться экземплярами их подтипов без изменения правильности этой программы». Поскольку статические классы со статическими методами (немного похожими на Mathкласс) вообще не имеют экземпляров, считается ли моя система SOLID, если у меня есть статические классы со статическими методами?

4
Java - это плохая идея иметь полностью статические классы?
Я работаю над большим сольным проектом и сейчас, и у меня есть несколько классов, в которых я не вижу причин для создания экземпляра. Например, мой класс игры в кости прямо сейчас хранит все свои данные статически, и все его методы тоже статические. Мне не нужно инициализировать его, потому что, когда …

1
Почему в PHP нет возможности перегрузить статические свойства?
вступление PHP позволяет перегружать вызовы методов и доступ к свойствам , объявляя магические методы в классах. Это включает код, такой как: class Foo { public function __get($name) { return 42; } } $foo = new Foo; echo $foo->missingProperty; // prints "42" Помимо перегрузки свойств и методов экземпляра, начиная с PHP …

2
Статика это плохо, но как насчет фабричной модели?
Я работаю над проектом TDD, поэтому стараюсь как можно больше придерживаться хороших правил, связанных с таким развитием. Один из них - избегать как можно более статичных и глобальных. Я сталкиваюсь с этой проблемой: у меня есть объект "article", с которым могут быть связаны "options" (дополнительная "micro-article"). Я не могу придумать, …
13 php  tdd  static-access 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.