La mia prima domanda è, il principio di Liskov è applicato anche sulla dichiarazione del costruttore?
Voglio dire, sono obbligato ad avere esattamente lo stesso numero / tipo di parametri nel mio costruttore per ciascuna (diversa) classe?
Guardando questo:
package com.apptest.test;
public class Application {
public static void main(String[] args) {
IRepository r = new RepositoryUser("toto");
IRepository x = new BillingRepository("billing","super");
}
}
Possiamo vedere che ci sono due implementazioni di IRepository, ma uno usa un altro parametro.
È corretto, e posso dire che il principio di Liskov è rispettato?