In web MVC most designs I've seen, (just choosing model layer as an example) the domain problem class, say students, always inherits the superclass "Model." The name is irrelevant, but why do they always inherit classes instead of interfaces?
I've seen others that have interface -> abstract class -> concrete class. But, I don't know why I'd choose a class over an inteface.
- Will I need to execute something in the constructor of the superclass in MVC? Some other method?
- I know of no mutual functionality that needs an implementation beforehand, but that is probably inexperience? I don't now.
- Why not just an interface to enforce my API?
I have seen other answers. I have not seen it in the specific context of MVC design, however.
Using PHP if it matters.