У меня есть приложение класса со статическими и нестационарными переменными.Как преодолеть статические переменные?
class App{
protected static $appName = 'dummy';
protected $appIcon = 'icon';
public static function getAppName() {
return self::$appName;
}
}
Тогда я расширим этот класс, как этот
class Notepad extends App{
private static $appName = 'notepad';
private $appIcon = 'notepad_icon';
}
Я хочу, чтобы получить APPNAME без создания экземпляра блокнота. Я попробовал Notepad :: getAppName(), но это всегда возвращает манекен.
Любые идеи или предложения ???
Заранее благодарен!
J!
После поста Сергея:
Я бродила, который является наиболее OOP способ сделать что-то вроде этого, и наиболее эффективным (скорость/память)?
a. declaring variables as puplic
b. creating an instance of an object just to get a few variables
c. rewrite the static function to all the children classes as Sergey suggested
a. объявление переменных как puplic - наиболее эффективно, используйте переменную statis, если вы хотите ее изменить, если вы этого не сделаете, используйте const для вашего кода. – Sergey