mad*_*nce 5 java oop inheritance interface
我相信,每个人都会知道变形金刚(擎天柱,威震天等).
我试图以类和接口的形式表示.目前,我没有考虑这些属性.我只是采取了一些功能.
我的设计是
interface Car{
public void run();
public void stop();
}
interface Robot{
public void walk();
public void fight();
}
class Transformer implements Car, Robot {
// implementing all the methods
}
Run Code Online (Sandbox Code Playgroud)
所以该课程Transformer说,它可以执行汽车和机器人操作
在实例化期间
Robot R = new Transformer(); // Now the transformer is in Robot format
Car C = new Transformer(); // Now the transformer is in Car format
Run Code Online (Sandbox Code Playgroud)
我的问题是,在这里,越来越创建了两个对象Robot R和Car C.因此,这传达了机器人正在创建和汽车正在创建.但我想要的是The Car is Getting Transformed to A Robot and Vice Versa
如何在设计中实现这一点.
刚刚在这里有了一些形状...
但这里的问题是,transformer 显式行走,而 CAR 显式运行。也就是说,它们是两个不同的对象。我想要它们,就是这样!
public class TransformersClass{
public TransformersClass() {
Car transformer = new Transformer(); // Initially they are Cars
Robot robot = (Robot) transformer; // Now transformed to Robot. No new objects are created
}
}
class Transformer implements Robot, Car {
@Override
public void run() {
// TODO Auto-generated method stub
}
@Override
public void walk() {
// TODO Auto-generated method stub
}
@Override
public void attack() {
// TODO Auto-generated method stub
}
@Override
public void fire() {
// TODO Auto-generated method stub
}
}
interface Robot {
public void walk();
public void attack();
public void fire();
}
interface Car {
public void run();
}
Run Code Online (Sandbox Code Playgroud)