OverRiding Concept в Java Функции будут переопределяться, зависит от типа объекта, а переменные будут доступны по ссылочному типу.
Например:
Parent parent=new Child();
parent.behaviour();
Здесь parent
является ссылкой Родительский класс, но содержит объект Child Class, поэтому в этом случае будет вызываться функция класса Child.
Child child=new Child();
child.behaviour();
Здесь child
хранится объект Child Class, поэтому функция класса Child будет .
Parent parent=new Parent();
parent.behaviour();
Здесь parent
хранится объект родительского класса, поэтому будет вызываться функция класса родителя.
Когда вы пытаетесь получить доступ к переменной, это зависит от объекта ссылочного типа, а не от типа объекта.
Например:
Parent parent=new Child();
System.out.println(parent.state);
Тип ссылки является родительским, поэтому доступна переменная класса родителя, а не переменная класса Child.
Child child=new Child();
System.out.println(child.state);
Здесь ссылочный тип - это Child , поэтому к переменной класса Child обращается не переменная класса родителя.
Parent parent=new Parent();
System.out.println(parent.state);
Здесь ссылочный тип является родительским, поэтому доступна переменная класса родителя.
CakePHP’s новый Настраивают класс , может использоваться, чтобы сохранить и получить приложение или определенные значения во время выполнения. Будьте осторожны, этот класс позволяет Вам хранить что-либо в нем, затем использовать его в любой другой части Вашего кода
Глобальные функции и переменные для Вашего приложения могут быть определены в app/config/bootstrap.php
для большего количества информации, см. http://book.cakephp.org/view/48/Bootstrapping-CakePHP
На самом деле, почему Вы делаете это? Модель должна понятия не иметь, что контроллер существует.
, Если это - бизнес-(образцовый) объект, создайте его как таковой. В противном случае модель не должна знать это.