차례:
비디오: [초보자를 위한 Java Programming] 5.12 평행우주를 이용해서 클래스 변환 실습 2024
Java에서 하위 클래스를 사용할 수 있습니다. 하위 클래스를 만드는 것은 괜찮지 만 사용하기위한 코드를 작성하지 않으면 이러한 하위 클래스에서 아무 것도 얻을 수 없습니다. 여기에서는 하위 클래스를 사용하는 코드를 탐색합니다.
이제 유형 F 인물, 유형 P 인물 또는 유형 T 인물로 분류 할 때가 왔습니다.
- F 형 사람 은 기본 사항을보고 싶어합니다. (문자 F 는 기본 요소를 의미합니다.) "가장 기본적이고 가장 기본적인 형태로 원칙을 설명하는 프로그램을 보여줍니다"라고 유형 F 사람이 말합니다. Type-F 사용자는 종소리와 휘파람에 대해 걱정하지 않습니다. 종은 나중에 나오고 호각은 절대로 올 수 없다. 만약 당신이 Type-F 사용자라면,
FullTimeEmployee
와PartTimeEmployee
서브 클래스를 사용하는 프로그램을 보길 원한다. 그러면 작업을 끝낼 수있다.. - P 형 사람 은 실용적인 응용 프로그램을 원합니다. (문자 P 는 실용적인 의 약자이다.) 유형 -P 사람들은 맥락에서 아이디어를 볼 필요가있다. 그렇지 않으면 아이디어가 너무 빨리 떠 다니게됩니다. "
FullTimeEmployee
및PartTimeEmployee
하위 클래스의 유용성을 보여주는 프로그램을 보여주십시오"라고 유형 P 사용자가 말합니다. "나는 냄새 나는 추상화에 아무 쓸모가 없다. 나는 실제의 예를 원한다. 나는 지금 그것을 원한다! " - Type-T 사용자 는 FullTimeEmployee 및
PartTimeEmployee
하위 클래스의 코드를테스트
하고자합니다. 코드를 테스트하는 것은 입력이 평범한 경우, 입력이 예상치 못한 경우 및 입력이 완전히 비현실적인 경우에도 출력의 정확도를 검사하여 코드를 진행하는 것을 의미합니다. 또한 형식 -T 사용자는 표준 프로그래머가 테스트 결과를 빨리 이해할 수 있도록 테스트 코드에 대해 쉽게 알아볼 수있는 표준 개요를 사용하려고합니다. type-T 사용자는FullTimeEmployee
및PartTimeEmployee
하위 클래스를 사용하는 JUnit 테스트를 만듭니다.
아래의 코드는 타입 -F 군중을위한 것으로, 단순하고 간결하며 잘 시간을 읽습니다.
P 형 또는 T 형 인 경우 allmycode를 방문하십시오. com. 사이트에는 type-P 및 type-T 독자를 만족시키는 예제가 있습니다.
이 코드는 하위 클래스
FullTimeEmployee
및
PartTimeEmployee
를 사용하는 베어 본 프로그램을 보여줍니다. 다음은 프로그램의 결과입니다.
public class DoPayrollTypeF {
FullTimeEmployee ftEmployee = 새 FullTimeEmployee ();
ftEmployee. setName ("Barry Burd");
ftEmployee. setJobTitle ("CEO");
ftEmployee.setWeeklySalary (5000. 00);
ftEmployee. setBenefitDeduction (500.00);
ftEmployee. cutCheck (ftEmployee. findPaymentAmount ());
PartTimeEmployee ptEmployee = 새 PartTimeEmployee ();
ptEmployee. setName ("Steve Surace");
ptEmployee. setJobTitle ("드라이버");
ptEmployee. setHourlyRate (7 53);
ptEmployee. cutCheck (ptEmployee. findPaymentAmount (10)); 이 코드를 이해하려면
Employee
,
FullTimeEmployee
및
PartTimeEmployee
세 클래스를 주시해야합니다..
코드의 첫 번째 부분은 상근 직원을 다룹니다.
ftEmployee
변수에 몇 가지 메서드를 사용할 수 있는지 확인하십시오. 예를 들어
ftEmployee를 호출 할 수 있습니다. setWeeklySalary
는
ftEmployee
유형이
FullTimeEmployee
이기 때문입니다.
ftEmployee로 전화 할 수도 있습니다.
FullTimeEmployee
클래스가
Employee
클래스를 확장하기 때문에 setName
cutCheck
는
Employee
클래스에서 선언되므로
ftEmployee를 호출 할 수 있습니다. cutCheck
. 그러나
ftEmployee를 호출 할 수도 있습니다.
findPaymentAmount
메소드는
FullTimeEmployee
클래스에 있기 때문에 findPaymentAmount
유형 일치시키기
코드의 첫 번째 절반을 다시 살펴보십시오. 마지막 성명서 - 전임 직원이 실제로 수표를 잘라내는 성명서에 특별한주의를 기울이십시오. 성명서는 가치있는 긴 체인과 그 유형을 형성합니다. 내부에서 문을 읽음으로써 이것을 볼 수 있습니다:
Method
ftEmployee. findPaymentAmount
는 빈 매개 변수 목록과 함께 호출됩니다.
findPaymentAmount
- 메서드는 매개 변수를 사용하지 않기 때문에 좋습니다.
메소드는
double - 유형의 값을 리턴합니다.
값은
ftEmployee입니다. findPaymentAmount - 반환 값은
ftEmployee 메서드에 전달됩니다. cutCheck
.cutCheck
메서드는double
유형의 매개 변수 하나를 사용하기 때문에 좋습니다.기발한 그래픽 그림을 확인하십시오.
일치하는 매개 변수입니다.매개 변수 목록에 원하는 값 유형을 항상 메소드에 제공하십시오.
이야기의 후반부
코드의 후반부에서 코드는
PartTimeEmployee유형의 개체를 만듭니다.
PartTimeEmployee
유형의 변수는
FullTimeEmployee
변수가 수행 할 수있는 것과 동일한 작업을 수행 할 수 있습니다. 그러나
PartTimeEmployee
클래스에는
setWeeklySalary
및
setBenefitDeduction
메소드가 없습니다. 대신
PartTimeEmployee
클래스에는
setHourlyRate
메서드가 있습니다. 따라서 마지막 줄 다음 줄은
setHourlyRate
메서드에 대한 호출입니다.
코드의 마지막 줄이 훨씬 흥미 롭습니다. 이 줄에서 코드는
10
(근무 시간 수)를
findPaymentAmount
메소드로 전달합니다. 이것을
findPaymentAmount
에 대한 이전 호출과 비교해보십시오 - 코드 앞부분의 정규 직원에 대한 호출.
FullTimeEmployee
와
PartTimeEmployee
는 두 개의 서로 다른
findPaymentAmount
메소드입니다. 두 가지 메소드에는 두 가지 종류의 매개 변수 목록이 있습니다.
FullTimeEmployee
클래스의
findPaymentAmount
메소드에는 매개 변수가 없습니다.
- PartTimeEmployee
클래스의
findPaymentAmount메소드는
int - 매개 변수 하나를 취합니다.
이는 코스와 동일합니다. 파트 타임 직원의 지불 금액을 찾는 것은 풀 타임 직원의 지불 금액을 찾는 것과 동일하지 않습니다. 파트 타임 직원의 임금은 직원이 일주일 동안 근무하는 시간에 따라 매주 변경됩니다. 전임 직원의 임금은 매주 동일하게 유지됩니다. 따라서
FullTimeEmployee및
PartTimeEmployee클래스에는 모두
findPaymentAmount
메서드가 있지만 각 클래스의 메서드는 상당히 다르게 작동합니다.