Java 멀티태스킹(동력 노드 Java 학원 정리)
1. 대상을 향한 세 가지 특성: 봉인, 계승, 다태.일정한 측면에서 볼 때 봉인과 계승은 거의 다태를 위해 준비된 것이다.이것은 우리의 마지막 개념이자 가장 중요한 지식점이다.
2. 다태적 정의: 같은 메시지에 다른 대상이 응답할 수 있도록 하는 것을 말한다.즉, 같은 메시지는 발송 대상에 따라 다양한 행위 방식을 사용할 수 있다.(메시지를 보내는 것은 함수 호출)
3. 다태적 기술을 실현하는 것을 동적 귀속(dynamic binding)이라고 하는데 실행 기간에 인용된 대상의 실제 유형을 판단하고 실제 유형에 따라 해당하는 방법을 호출하는 것을 말한다.
4. 다태적 작용: 유형 간의 결합 관계를 제거한다.
5. 현실에서 다태에 관한 예는 일일이 다 들 수 없다.예를 들어 F1키를 누르면 이 동작이 현재 Flash 인터페이스 아래에 AS3의 도움말 문서가 튀어나온다.현재 Word 아래에 있는 것이 Word 도움말이라면;Windows 아래에서 팝업하는 것은 Windows 도움말과 지원입니다.같은 사건이 서로 다른 대상에서 발생하면 다른 결과가 생길 수 있다.
다음은 다태적 존재의 세 가지 필수 조건으로, 이해를 바탕으로 기억하는 것이 가장 좋다.
다태적 존재의 세 가지 필요 조건
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 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.