When a modifier is set to private the property is only accessible by the class it's self.
When a modifier is set to protected the property is only accessible by the class it's self and when the class is extended/inherited the subclass can also access the property.
When a modifier is set to Public the property is accessible from inside and outside the class.
Task 7: B
Setting a Public property value: $InstanceOfObject->setProperty($NewValue);
Getting a Public property value: $MyLocalVar = $InstanceOfObject->GetProperty();
Using a class constant outside the class it is defined: As the constant is not part of an instantiated object but part of the class scope you can use the Scope resolution operator as follow: $MyLocalVar = ClassName::constName;
Task 7: C
An abstract class has all of the standard benefits of creating a baseclass that classes can inherit. An abstract class is used mostly as a superclass/baseclass as it can not be used to directly create an object. By using a concrete subclass that inherits the abstract class you can now create an object from the concreate class that encapsulated the abstract class. When you extend a abstract class you must always implement all abstract methods from the abstact class or else you will get a fatal error.