Witam,
mam problem z jednym zadań z javy... Chodzi o stworzenie parkingu dla samochodów poprzez ArrayList. Auta dodawane do "parkingu" należą do 4 różnych klas (Car, Sport, F1, Truck) z tym, że Sport i Truck dziedziczą po Car, a F1 dziedziczy po sport. W każdej z tych klas są różne metody do których muszę się później odwołać... i właśnie z tym jest problem - kompilator tak jakby nie widzi tego dziedziczenia i pozwala odnieść się tylko do metod zawartych w klasie Car... Kod poniżej. Generalnie chodzi też o to żeby np elementy z klasy Sport nie miały dostępu do metod z klasy Truck i odwrotnie.
Z góry dziękuje za szybką pomoc.
klasa główna:
package parkings;
import java.util.ArrayList;
public class Parkings
{
public static void main(String[] args)
{
Car c1 = new Car();
Car c2 = new Car();
Car c3 = new Car();
Sport s1 = new Sport();
Sport s2 = new Sport(false, 250);
Sport s3 = new Sport(true, 190);
F1 f1 = new F1();
F1 f2 = new F1();
F1 f3 = new F1();
Truck t1 = new Truck(false, 350, 1500.50);
ArrayList<Car> parking = new ArrayList<>();
parking.add(c1);
parking.add(c2);
parking.add(c3);
parking.add(s1);
parking.add(s2);
parking.add(s3);
parking.add(f1);
parking.add(f2);
parking.add(f3);
parking.add(t1);
parking.get(0).start();
parking.get(2).start();
parking.get(9).start();
}
}
klasa Car
package parkings;
public class Car
{
public void start()
{
}
public boolean start;
public boolean isStart()
{
return start;
}
public void setStart(boolean start)
{
this.start = start;
}
Car()
{
}
public Car(boolean start)
{
this.start = start;
}
}
klasa Sport
package parkings;
public class Sport extends Car
{
public int power;
public int getPower()
{
return power;
}
public void setPower(int power)
{
this.power = power;
}
Sport()
{
super();
}
public Sport(boolean start, int power)
{
super(start);
this.power = power;
}
}
klasa Truck
package parkings;
public class Truck extends Car
{
public double load;
public double getLoad()
{
return load;
}
public void setLoad(double load)
{
this.load = load;
}
Truck()
{
}
public Truck(boolean start, int power, double load)
{
super(start, power);
this.load = load;
}
}
poprawiłem znaczniki - bogdans