java 다태적 상세 및 간단한 실례
무엇이 다태입니까
다태적 존재의 세 가지 필요 조건
1. 상속이 있어야 한다.
2. 다시 써야 한다.
3. 부모 클래스 인용은 하위 클래스 대상을 가리킨다.
다태적 이점:
1. 교체 가능성(substitutability).다중 상태는 이미 존재하는 코드에 대해 대체성을 가지고 있다.예를 들어, 원형 Circle 클래스에 대한 다중 상태 작업, 원환과 같은 다른 원형 형상에 대해서도 마찬가지로 작업합니다.
2. 확장성(extensibility).다중 모드는 코드에 대해 확장성을 가지고 있다.새로운 하위 클래스를 추가하는 것은 이미 존재하는 클래스의 다태성, 계승성, 그리고 기타 특성의 운행과 조작에 영향을 주지 않는다.실제로 새로운 가자류는 다태적 기능을 얻기 쉽다.예를 들어 원추, 반원추와 반구체의 다태성을 실현한 토대에서 구체류의 다태성을 늘리기 쉽다.
3. 인터페이스성(interface-ability).다태는 초류가 방법을 통해 서명하고 자류에 공통된 인터페이스를 제공하여 자류로 보완하거나 덮어씌워서 이루어진 것이다.그림8.3 참조.그림에서 슈퍼 클래스 Shape는 두 가지 다중 모드를 실현하는 인터페이스 방법으로computeArea () 와computeVolume () 를 규정하고 있다.Circle과 Sphere 같은 하위 클래스는 다중 상태를 실현하기 위해 이 두 인터페이스 방법을 보완하거나 덮어씁니다.
4. 유연성(flexibility).그것은 응용에서 유연하고 다양한 조작을 구현하여 사용 효율을 높였다.
5. 단순성(simplicity).다태적으로 응용 소프트웨어에 대한 코드 작성과 수정 과정을 간소화하는데 특히 대량의 대상의 연산과 조작을 처리할 때 이 특징은 특히 두드러지고 중요하다.
Java에서 다태적 실현 방식: 인터페이스 실현, 상속 부류 재작성, 같은 클래스에서 방법 재부팅.
작은 제목:
(1) 관련 클래스
class A ...{
public String show(D obj)...{
return ("A and D");
}
public String show(A obj)...{
return ("A and A");
}
}
class B extends A...{
public String show(B obj)...{
return ("B and B");
}
public String show(A obj)...{
return ("B and A");
}
}
class C extends B...{}
class D extends B...{}
(2) 질문: 다음 출력 결과는 무엇입니까?
A a1 = new A();
A a2 = new B();
B b = new B();
C c = new C();
D d = new D();
System.out.println(a1.show(b)); ①
System.out.println(a1.show(c)); ②
System.out.println(a1.show(d)); ③
System.out.println(a2.show(b)); ④
System.out.println(a2.show(c)); ⑤
System.out.println(a2.show(d)); ⑥
System.out.println(b.show(b)); ⑦
System.out.println(b.show(c)); ⑧
System.out.println(b.show(d)); ⑨
(3) 답안
① A and A
② A and A
③ A and D
④ B and A
⑤ B and A
⑥ A and D
⑦ B and B
⑧ B and B
⑨ A and D
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.