2017-12-11 14 views
0

저는 OOP (Java 사용)의 첫 번째 수준에 대한 최종 시험을 위해 실제로 공부하고 있으며 OOP 측면에서 개념적으로 정확해야합니다.이 두 샘플 코드 중 어느 것이 다형성을 구현합니까?

기타
Light.turnOn(pc); 
Light.turnOn(car); 

...

그리고이 다른 하나 :

pc.turnOn(); 
car.turnOn(); 

는 아직 첫 번째를 구현하지 않은

그래서,이 코드가 있습니다. Lightabstract 클래스 인 경우 두 번째, 나는 ... 같은

class pc extends Light { ... } 
class car extends Light { ... } 

그것을했다. 각각 다른 클래스 인 pccarLight에서 확장되며 각각 turnOn() 메서드의 자체 버전을 구현합니다. (아직 구현하지 않은) 첫 번째 샘플 코드에서는 "확장"하지 않고 동일한 클래스의 turnOn() 메서드의 다른 버전을 사용할 수 있습니다.

그래서 두 코드 중 어느 것이 다형성을 구현하고 사용합니까? 왜? 다른 예제는 어떻게 구현/사용하지 않습니까?

미리 감사드립니다.

+1

Java 명명 규칙을 따르십시오. Light.turnOn (...)은 정적 메서드 호출을 의미하고 pc.turnOn()은 인스턴스 메서드 호출을 의미합니다. 하지만 클래스 이름은 pc입니다. 이것은 혼란스럽고 오해의 소지가 있습니다. –

+0

이 코드는 완전한 코드를 작성하고 코딩 규칙을 존중하는 경우이 질문이 더 유용 할 것이라고 생각합니다. 클래스는 대문자로 시작하는 이름을 가져야합니다. 덮어 쓰는 메소드를 표시하지 않으며 Light.turnOn (car)이 무엇이어야하는지 명확하지 않습니다. "Light"가 클래스 인 경우 정적 메서드 호출과 같습니다. – Gustave

+0

결승에서 행운을 빈다. –

답변

1

두 번째는 다형성입니다.