在设计一个表示不同类型交通工具(如汽车、自行车、飞机)的类结构时,如果需要定义一个通用的`start`方法,并且每种交通工具启动方式不同,以下哪个设计方案最符合面向对象的设计原则,并体现方法的多态性?
答案解析
选项A虽然实现了多态,但父类中的`start`方法为空,缺乏实际意义,且子类方法名保持一致,不体现方法重载。选项B使用`switch`或`if-else`在父类方法中处理不同类型的启动逻辑,违反了开闭原则,不易扩展和维护。选项D中子类方法名各不相同,无法使用统一的`start`方法进行调用,没有体现多态性。选项C通过定义一个接口`Vehicle`,并在接口中定义了通用的`start()`方法,不同的交通工具类实现这个接口,并重写各自的启动逻辑,体现了面向接口编程和方法的多态性,符合面向对象设计原则。
正确答案:C