Treść zadania
Klasa abstrakcyjna zwierze ma 2 metody abstrakcyjne je i oddycha i mamy do dyspozycji kilka interfejsów takich jak bieganie skakanie, latanie pływanie. Są klasy dzidziczące np kot, kaczka, kangur, ryba dodać metody np jak pływa to z predkością i na jakiej głębokości itp.
Pytanie czy poprawnie rozwiązałem to zadanie i czy o to chodziło prowadzącemu zajęcia ?
Klasa abstrakcyjna:
package zwierzaki;
public abstract class Zwierze {
public abstract void jedz();
public abstract void oddychaj();
}
Interfejsy:
package zwierzaki;
public interface Bieganie {
public void biegnij();
}
package zwierzaki;
public interface Skakanie {
public void skacz();
}
package zwierzaki;
public interface Latanie {
public void lec();
}
package zwierzaki;
public interface Plywanie {
public void plyn();
}
package zwierzaki;
public class Kot extends Zwierze implements Bieganie, Skakanie {
private double predkosc;
private double wysokosc;
public Kot(double predkosc, double wysokosc) {
this.predkosc = predkosc;
this.wysokosc = wysokosc;
}
@Override
public void jedz() {
System.out.println("Jem karmę dla kotów. ");
}
@Override
public void oddychaj() {
System.out.println("Jestem kotem. Oddycham powietrzem.");
}
@Override
public void biegnij() {
System.out.println("Biegne z predkoscia: " + this.predkosc + "km/h");
}
@Override
public void skacz() {
System.out.println("Skacze na wysokosc: " + this.wysokosc + "m");
}
public double getPredkosc() {
return predkosc;
}
public void setPredkosc(double predkosc) {
this.predkosc = predkosc;
}
public double getWysokosc() {
return wysokosc;
}
public void setWysokosc(double wysokosc) {
this.wysokosc = wysokosc;
}
}
package zwierzaki;
public class Kaczka extends Zwierze implements Plywanie, Latanie {
private double predkosc;
private double wysokoscLotu;
public Kaczka(double predkosc, double wysokoscLotu) {
this.predkosc = predkosc;
this.wysokoscLotu = wysokoscLotu;
}
@Override
public void jedz() {
System.out.println("Jem. Jestem kaczka");
}
@Override
public void oddychaj() {
System.out.println("Oddycham. ");
}
@Override
public void plyn() {
System.out.println("Plyne z predkoscia: " + this.predkosc +" km/h");
}
@Override
public void lec() {
System.out.println("Lece na wysokosci: " + wysokoscLotu +" m");
}
public double getPredkosc() {
return predkosc;
}
public void setPredkosc(double predkosc) {
this.predkosc = predkosc;
}
public double getWysokoscLotu() {
return wysokoscLotu;
}
public void setWysokoscLotu(double wysokoscLotu) {
this.wysokoscLotu = wysokoscLotu;
}
}
package zwierzaki;
public class Kangur extends Zwierze implements Skakanie{
private double wysokosc;
public Kangur(double wysokosc) {
this.wysokosc = wysokosc;
}
@Override
public void jedz() {
System.out.println("Jem! Jestem kangurem");
}
@Override
public void oddychaj() {
System.out.println("Oddycham.");
}
@Override
public void skacz() {
System.out.println("Skacze na wysokosc: " + this.wysokosc + "m.");
}
public double getWysokosc() {
return wysokosc;
}
public void setWysokosc(double wysokosc) {
this.wysokosc = wysokosc;
}
}
package zwierzaki;
public class Ryba extends Zwierze implements Plywanie{
private double glebokosc;
private double predkosc;
public Ryba(double glebokosc, double predkosc) {
this.glebokosc = glebokosc;
this.predkosc = predkosc;
}
@Override
public void jedz() {
System.out.println("Jem co znajdę w wodzie. Jestem ryba. ");
}
@Override
public void oddychaj() {
System.out.println("Oddycham skrzelami tlenem rozpuszczony w wodzie.");
}
public double getGlebokosc() {
return glebokosc;
}
public void setGlebokosc(double glebokosc) {
this.glebokosc = glebokosc;
}
public double getPredkosc() {
return predkosc;
}
public void setPredkosc(double predkosc) {
this.predkosc = predkosc;
}
@Override
public void plyn() {
System.out.println("Płynę z predkością: " + this.predkosc +
"na głebokości: " + this.glebokosc +".");
}
}
package zwierzaki;
public class Zwierzaki {
public static void main(String[] args) {
//kot ok
//kaczka ok
//kangur
//ryba ok
Kot kot = new Kot(3,0.2);
kot.jedz();
kot.oddychaj();
kot.biegnij();
kot.skacz();
Kaczka kaczka = new Kaczka(2, 0.5);
kaczka.jedz();
kaczka.oddychaj();
kaczka.plyn();
kaczka.lec();
Kangur kangur = new Kangur(3);
kangur.jedz();
kangur.oddychaj();
kangur.skacz();
Ryba ryba = new Ryba(7, 10);
ryba.jedz();
ryba.oddychaj();
ryba.plyn();
}
}