Mục lục:
Video: Java Cơ Bản 63 Anonymous Inner Class 2025
Bạn có thể sử dụng các lớp con trong Java. Tạo lớp con là tốt, nhưng bạn không có được gì từ các lớp con trừ khi bạn viết mã để sử dụng chúng. Vì vậy, ở đây, bạn khám phá mã sử dụng các lớp con.
Bây giờ đã đến lúc bạn tự phân loại mình như một người loại F, người loại P, hoặc người loại T.
- Một người-F loại muốn xem nguyên tắc cơ bản. (Chữ cái F là viết tắt của nguyên tắc cơ bản.) "Cho tôi thấy một chương trình đưa ra các nguyên tắc trong hình thức cơ bản nhất của họ," người mẫu F nói. Một người loại F không lo lắng về chuông và còi. Các chuông đến sau, và tiếng còi có thể không bao giờ đến. Nếu bạn là người kiểu F, bạn muốn xem một chương trình sử dụng các lớp con
FullTimeEmployee
vàPartTimeEmployee
và sau đó di chuyển theo cách của bạn để bạn có thể hoàn thành công việc. - Một người-P loại muốn ứng dụng thực tế. (Chữ P là viết tắt của thực tế.) Những người thuộc loại P cần phải xem ý tưởng trong ngữ cảnh; nếu không, những ý tưởng nổi trôi quá nhanh. "Chỉ cho tôi một chương trình thể hiện tính hữu dụng của các lớp con
FullTimeEmployee
vàPartTimeEmployee
", người type-P nói. "Tôi không có ích gì cho những sự trừu tượng bốc mùi của bạn. Tôi muốn những ví dụ thực tế, và tôi muốn họ ngay bây giờ! " - Một người loại-T muốn kiểm tra mã trong các lớp con
FullTimeEmployee
vàPartTimeEmployee
. Kiểm tra mã có nghĩa là đưa mã thông qua các bước của nó - kiểm tra độ chính xác của đầu ra khi đầu vào là bình thường, khi đầu vào là bất ngờ, và ngay cả khi đầu vào là hoàn toàn không thực tế. Hơn nữa, người loại-T muốn sử dụng một tiêu chuẩn, dễ nhận ra phác thảo cho mã kiểm tra để các lập trình viên khác có thể nhanh chóng hiểu được kết quả kiểm tra. Người type-T tạo các bài kiểm tra JUnit sử dụng các lớp conFullTimeEmployee
vàPartTimeEmployee
.
Đoạn mã dưới đây, dành cho đám đông loại F, rất gọn gàng và đơn giản và có khả năng đọc sách khi đi ngủ tốt.
Nếu bạn là người loại P hoặc type-T, vui lòng truy cập allmycode. com. Trang web chứa các ví dụ để đáp ứng những người đọc loại P và loại T.
Mã này cho bạn thấy một chương trình trần xương sử dụng các lớp con
FullTimeEmployee
và
PartTimeEmployee
. Đây là đầu ra của chương trình.
lớp công cộng DoPayrollTypeF {
public static void main (String args []) {
FullTimeEmployee ftEmployee = new FullTimeEmployee ();
nhân viên vận hành. setName ("Barry Burd");
nhân viên vận hành. setJobTitle ("Giám đốc điều hành");
nhân viên vận hành.setWeeklySalary (5.000.00);
nhân viên vận hành. setBenefitDeduction (500.00);
nhân viên vận hành. cutCheck (ftEmployee. findPaymentAmount ());
Hệ thống. ngoài. println ();
PartTimeEmployee ptEmployee = new PartTimeEmployee ();
ptEmployee. setName ("Steve Surace");
ptEmployee. setJobTitle ("Driver");
ptEmployee. setHourlyRate (7,53);
ptEmployee. cutCheck (ptEmployee. findPaymentAmount (10));
}
}
Để hiểu mã này, bạn cần theo dõi ba lớp:
Nhân viên
,
FullTimeEmployee
và
PartTimeEmployee
.
Nửa đầu của đoạn mã đề cập đến nhân viên làm việc toàn thời gian. Lưu ý có bao nhiêu phương pháp có sẵn để sử dụng với biến
ftEmployee
? Ví dụ, bạn có thể gọi
ftEmployee. setWeeklySalary
vì
ftEmployee
có loại
FullTimeEmployee
. Bạn cũng có thể gọi
ftEmployee. setName
vì lớp
FullTimeEmployee
mở rộng lớp
Nhân viên
.
Vì
cutCheck
được khai báo trong lớp
Nhân viên
, bạn có thể gọi
ftEmployee. cutCheck
. Nhưng bạn cũng có thể gọi
ftEmployee. findPaymentAmount
vì một phương thức
findPaymentAmount
nằm trong
lớp FullTimeEmployee
.
Tạo các loại phù hợp với
Tìm lại ở nửa đầu của mã. Chú ý đặc biệt về tuyên bố cuối cùng - đó là một trong những nhân viên làm việc toàn thời gian thực sự bị cắt séc. Tuyên bố tạo nên một chuỗi giá trị tốt đẹp, dài và các loại hình. Bạn có thể thấy điều này bằng cách đọc câu lệnh từ bên trong ra:
- Phương pháp
ftEmployee. findPaymentAmount
được gọi với một danh sách các tham số rỗng. Đó là tốt vì phương phápfindPaymentAmount
không có tham số. - Phương thức
findPaymentAmount
trả về giá trị kiểugấp đôi
. - Giá trị
đôi
ftMợ lao động. findPaymentAmount
trả về được truyền cho phương phápftEmployee. cutCheck
. Điều đó tốt vì phương phápcutCheck
mất một tham số kiểuđôi
.
Xem minh họa đồ hoạ huyền ảo.
Tham số phù hợp.Luôn luôn cấp nguồn cho một kiểu các loại giá trị mà nó muốn trong danh sách tham số của nó.
Phần thứ hai của câu chuyện
Trong phần thứ hai của đoạn mã, mã tạo một đối tượng kiểu
PartTimeEmployee
. Một biến kiểu
PartTimeEmployee
có thể thực hiện một số việc tương tự với biến
FullTimeEmployee
. Tuy nhiên, lớp
PartTimeEmployee
không có các phương pháp
setWeeklySalary
và
setBenefitDeduction
. Thay vào đó, lớp
PartTimeEmployee
có phương pháp
setHourlyRate
. Vì vậy, dòng kế tiếp đến cuối cùng là một cuộc gọi đến phương pháp
setHourlyRate
.
Dòng cuối cùng của đoạn mã là điều thú vị nhất. Trên dòng đó, mã số cho số
10
(số giờ làm việc) vào phương pháp
findPaymentAmount
. So sánh điều này với cuộc gọi trước đó đến
findPaymentAmount
- cuộc gọi cho nhân viên làm việc toàn thời gian trong nửa đầu của mã.Giữa hai lớp con,
FullTimeEmployee
và
PartTimeEmployee
là hai phương thức
findPaymentAmount
khác nhau. Hai phương thức có hai loại danh sách tham số khác nhau:
- Phương thức
findPaymentAmount
củaFullTimeEmployee
không có tham số. - Phương thức
findPaymentAmount
củaPartTimeEmployee
mất một tham sốint
.
Đây là mệnh đề cho khóa học. Tìm số tiền thanh toán cho nhân viên bán thời gian không giống như tìm số tiền thanh toán cho nhân viên toàn thời gian. Tiền lương của nhân viên bán thời gian thay đổi mỗi tuần, tùy thuộc vào số giờ mà nhân viên làm việc trong một tuần. Tiền lương của nhân viên làm việc toàn thời gian vẫn như nhau mỗi tuần. Vì vậy, các lớp
FullTimeEmployee
và
PartTimeEmployee
đều có
các phương pháp findPaymentAmount
, nhưng phương pháp của mỗi lớp lại hoạt động khá khác nhau.