Drivable.java
package fr.univtln.bruno.samples.java101.tp2.api;
/**
* Drivable capability contract.
* Demonstrates multiple inheritance via interfaces and a default method.
*/
public interface Drivable {
/**
* Performs the driving action for the underlying vehicle implementation.
* @return an action verb describing the motion (e.g., "drives", "pedals").
*/
String drive();
/**
* Default starting behaviour for drivable vehicles.
* Implementations may override to refine the start sequence.
* @return a small description of the start action.
*/
default String start() {
return "start engine"; // default; bikes may ignore
}
}