|
Anonymous classesAnonymous classes are useful when simple, one-off objects need to be created.
They can pass arguments through to their constructors, extend other classes, implement interfaces, and use traits just like a normal class can:
The above example will output: object(class@anonymous)#1 (1) { ["Command line code0x104c5b612":"class@anonymous":private]=> int(10) } Nesting an anonymous class within another class does not give it access to any private or protected methods or properties of that outer class. In order to use the outer class' protected properties or methods, the anonymous class can extend the outer class. To use the private properties of the outer class in the anonymous class, they must be passed through its constructor:
The above example will output: 6 All objects created by the same anonymous class declaration are instances of that very class.
The above example will output: same class
|