2017-04-23 1 views
-1

Java에서 추상 클래스와 추상 메소드를 사용하는 실용적인 예제/시나리오를 제공 할 수 있습니까? 샘플 코드에 대한 설명은 개념적으로 이해하는 데 도움이됩니다. 감사합니다자바에서 추상 클래스와 추상 메소드를 사용하는 이유

+0

Java API : 컬렉션, JDBC, I/O 등을 살펴보십시오. 추상 클래스와 인터페이스로 흩어져 있습니다. 그것들은 당신이 필요로하는 모든 실용적인 예입니다. – duffymo

+0

[Java의 추상 클래스] 가능한 복제본 (http://stackoverflow.com/questions/1320745/abstract-class-in-java) – Gary99

답변

1
abstract class Car{ 
    public int drivenKm; 
    //.... 

    public abstract void checkCar(); 
} 
public class Volvo extends Car { 
    public void checkCar() { 
     checkWithVolvoTestSpecs1(); 
    } 

    //you have some Volvo-specific tests implemented here 
    public void checkWithVolvoTestSpecs1(){ 
     //.... 
    } 
} 
public class BMW extends Car { 
    public void checkCar() { 
     checkWithBMWTest(); 
    } 

    //you have some BMW-specific tests implemented here 
    public void checkWithBmWTest(){ 
     //.... 
    } 
} 

이제 BMW 또는 Volvo가 포함 된 자동차 목록을 만들 수 있습니다.

일부 생성자 관련 검사에 따라 검사해야하기 때문에 일반 CheckCar() - 메서드를 구현하는 것이 의미가없는 경우가 있습니다. 따라서 클래스 추상화와 메소드를 표시해야합니다.

클래스 추상을 표시하면 검사 할 수없는 특정 자동차가 생성되지 않습니다.
메소드 추상을 표시하는 것은 일반적인 자동차 수표를 구현하지 않고 파생 클래스가 특정 자동차 수표를 구현하도록 강요하지 않는 데 사용됩니다.
이 수탁자는 checkCar() 구현이없는 일반 자동차 객체는 물론 모든 특정 객체 (예 : BMW)는 그 방법의 구현을 가지고있다.

관련 문제