DEV Community

Cover image for Number one question on every PHP interview
Damian Brdej
Damian Brdej

Posted on

4

Number one question on every PHP interview

I am a PHP programmer and have been on many job interviews. I noticed that on each of them one question always came up.

That question is:

What's the difference between abstract class and interface?

The answer to this question is simple and proves the candidate's familiarity with object-oriented programming.

So let's compare these two:

Abstract class

  • It can provide some functionality and leave the rest for the derived class.
  • The derived class may or may not override the concrete functions defined in the base class.
  • A child class extended from an abstract class should logically be related.

To declare class to be abstract just simply abstract before class keyword

Interface

  • It cannot contain any functionality. It only contains definitions of the methods.
  • The derived class MUST provide code for all the methods defined in the interface.
  • Completely different and non-related classes can be logically grouped together using an interface.

To declare interface use interface keyword

interface Template
{
    public function setVariable($name, $var);
    public function getHtml($template);
}
Enter fullscreen mode Exit fullscreen mode

Image of Docusign

πŸ› οΈ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs