题:

在Java的继承概念中,我了解了在Java中使用继承的各种优点,在其中我遇到了一种称为传递性的优点。
现在,我在google上找到可传递的含义,在这里我得到了“可传递的含义”,它是一种关系,使得它适用于序列的连续成员之间,它也必须适用于按顺序采取的任何两个成员之间。例如,大于B,并且B大于C,则A大于C”。
我理解其中的含义,但是无法在传递性一词和继承概念之间建立直接联系。

有什么解释可以更清楚地理解这一点吗?

最佳答案

如果是保时捷IS-A汽车和汽车IS-A汽车,则保时捷IS-A汽车。

编辑-根据要求,以下是一些代码来演示这一点。

public class Automobile
{
    private int fuel = 0;
    public void giveFuel(int amount)
    {
        fuel += amount;
    }
}
public class Car extends Automobile
{
}
public class Porche extends Car
{
}



所以现在我可以明显地做到了:
Automobile auto = new Automobile();

auto.giveFuel(5);
但我什至可以:
Porche porche = new Porche();

porche.giveFuel(5);
如果某个功能需要一辆汽车:

public class Person
{
    private Automobile ride = 0;
    public void setRide(Automobile ride)
    {
        this.ride = ride;
    }
}


我可以:
Porche porche = new Porche();
Person person = new Person()
person.setRide(porche);
如果子类覆盖超类的功能,这会使它们的行为有所不同,则此功能特别有用。因此,也许每个Car子类都有不同的drive()方法,需要使用不同量的燃料(Car本身可能是抽象的),并且当此人要使用自己的汽车时,他将调用ride.drive(),并且正确的燃料量将是采取。

10-06 13:35