Привет, народ.
Можете проверить, все ли верно я здесь написал? Т.к есть сомнения, а зная корявость валидатора, сомнения усиливаются, все ли я правильно сделал? Буду рад за конструктивную критику и подсказки😅
package com.javarush.task.task14.task1416;
/*
Исправление ошибок Ӏ Java Core: 4 уровень, 8 лекция
*/
public class Solution {
public static void main(String[] args) {
Swimmable animal = new Orca();
animal.swim();
animal = new Whale();
animal.swim();
animal = new Otter();
animal.swim();
}
public static void test(Swimmable animal) {
animal.swim();
}
interface Walkable {
void walk();
}
interface Swimmable {
void swim();
}
static abstract class OceanAnimal {
public void swim() {
OceanAnimal currentAnimal = (OceanAnimal) getCurrentAnimal();
currentAnimal.displaySwim();
}
private void displaySwim() {
System.out.println(getCurrentAnimal().getClass().getSimpleName() + " is swimming");
}
abstract Swimmable getCurrentAnimal();
}
static class Orca extends OceanAnimal implements Swimmable{
@Override
public void swim(){
}
@Override
Swimmable getCurrentAnimal() {
return null;
}
}
static class Whale extends OceanAnimal implements Swimmable{
@Override
public void swim(){
}
@Override
Swimmable getCurrentAnimal() {
return null;
}
}
static class Otter implements Walkable, Swimmable{
@Override
public void walk() {
}
@Override
public void swim() {
}
}
}