Possible en double:
When to use interfaces or abstract classes? When to use both?Quand utiliser les classes abstraites et quand utiliser les interfaces
Tenir compte de cette
public abstract class Flat
{
//some properties
public void livingRoom(){
//some code
}
public void kitchen(){
//some code
}
public abstract void bedRoom();
}
An implementation class would be as follows:
public class Flat101 extends Flat
{
public void bedRoom() {
System.out.println("This flat has a customized bedroom");
}
}
Sinon je peux utiliser une interface au lieu d'un résumé classe pour atteindre le même but comme suit:
class Flat
{
public void livingRoom(){
System.out.println("This flat has a living room");
}
public void kitchen(){
System.out.println("This flat has a kitchen");
}
}
interface BedRoomInterface
{
public abstract void bedRoom();
}
public class Flat101 extends Flat implements BedRoomInterface
{
public void bedRoom() {
System.out.println("This flat has a customized bedroom");
}
}
Maintenant, la question est la suivante: Pour cette configuration, pourquoi choisir d'utiliser une interface (ou) pourquoi devrais-je choisir d'utiliser une classe abstraite?