나는이 추상 기본 클래스를 가지며 각 자식 클래스에는 특정 필수 기능이 있어야하지만 약간 다르다. 이것은 추상 클래스를 사용하여 가능합니까? 아니면이 인터페이스를 사용해야합니까?어린이의 추상적 수업 및 필수 방법?
나는 어떻게이 구조에 대한 갈 것이라고이
public abstract class Animal
{
//Mandatory method
Public void sound()
{
}
}
public class Cat extends Animal
{
public void sound()
{
System.out.println("Miauw");
}
}
public class Dog extends Animal
{
public void sound()
{
System.out.println("Woof");
}
}
//I will put all these child objects in a List<Animal> and need to call these methods.
for (Animal a : animalList)
{
a.sound();
}
같은 구조를 사용하는 것입니다? 자식 클래스간에 공유해야하는 동일한 메서드가 많기 때문에 추상 클래스를 사용하고 있다고 덧붙여 야합니다. 메소드 중 일부만 서로 다르되 필수 클래스이며 기본 클래스에서 액세스 할 수 있어야합니다.
어떤 Java 버전을 사용합니까? – divanov
액세스 수정자는 Java에 유효하지 않습니다. –
일반적인 팁 사용 인터페이스 항상, 추상 클래스는 다른 서브 클래스 주위에 일부 메소드의 동일한 구현이있는 경우에만 사용됩니다. –