PHP Questions and Answers Part-13

1. Which of the following advanced OOP features is/are not supported by PHP?
i) Method overloading
ii) Multiple Inheritance
iii) Namespaces
iv) Object Cloning
a) i)
b) ii)
c) i) and ii)
d) iii) and iv)

Answer: c
Explanation: The advanced OOP features are: Object cloning, Inheritance, Interfaces, Abstract classes, and Namespaces.

2. Which version of PHP introduced the advanced concepts of OOP?
a) PHP 4
b) PHP 5
c) PHP 5.3
d) PHP 6

Answer: b
Explanation: Advanced concepts of OOP were introduced in PHP version 5.

3. Which one of the following is the right way to clone an object?
a) clone(targetObject);
b) destinationObject = clone targetObject;
c) destinationObject = _clone(targetObject);
d) destinationObject = clone(targetObject);

Answer: b
Explanation: You can clone an object by prefacing it with the clone keyword. A copy of an object is created by using the clone keyword. $copy_of_object = clone $object;

4. The class from which the child class inherits is called ________
i) Child class
ii) Parent class
iii) Super class
iv) Base class
a) Only i)
b) ii), iii) and iv)
c) Only iii)
d) ii) and iv)

Answer: d
Explanation: The class whose properties are inherited by child class is called Base Class or Parent class.

5. Which of the following is/are true for an abstract class?
i) Abstract classes in PHP are declared with the help of abstract keyword.
ii) A class is declare abstract by using the keyword implements.
iii) It is a class that really isn’t supposed to ever be instantiated but instead serves as a base class.
iv) Attempting to instantiate an abstract class results in an error.
a) Only i)
b) Only iii)
c) ii) and iv)
d) ii), iii) and iv)

Answer: a
Explanation: The abstract classes are the classes in which at least one method need to be abstract. Abstract classes in PHP are declared with the help of abstract keyword.

6. If one intends to create a model that will be assumed by a number of closely related objects, which class must be used?
a) Normal class
b) Static class
c) Abstract class
d) Interface

Answer: c
Explanation: The abstract classes are the classes in which at least one method need to be abstract. Abstract classes in PHP are declared with the help of keyword abstract. The use of class abstract are that all base classes implementing abstract class should give implementation of abstract methods declared in parent class.

7. If your object must inherit behavior from a number of sources you must use a/an
a) Interface
b) Object
c) Abstract class
d) Static class

Answer: a
Explanation: An interface in PHP consists of methods that have no implementations, i.e. the interface methods are abstract methods. The methods in the interfaces must have public visibility scope. The interfaces are different from classes as the class can inherit from one class only whereas the class can implement one or more interfaces.

8. Which method is used to tweak an object’s cloning behavior?
a) clone()
b) _clone()
c) _clone
d) object_clone()

Answer: b
Explanation: A copy of an object is created by using the clone keyword, which calls the object’s __clone() method.

9. Which feature allows us to call more than one method or function of the class in single instruction?
a) Typecasting
b) Method Including
c) Method adding
d) Method chaining

Answer: d
Explanation: When many methods are called in a single instruction in PHP, it is called method chaining. Following is a basic example of method chaining in php: $a = new Order(); $a->CreateOrder()->sendOrderEmail()->createShipment();

10. Which magic method is used to implement overloading in PHP?
a) _call
b) __invoke
c) __wakeup
d) _unset

Answer: a
Explanation: When a class implements __call(), then an object of that class is called with a method that doesn’t exist, __call() is called instead.