Trả lời:
Đáp án đúng: C
JavaBean thường bao gồm ba thành phần chính:
- Các thuộc tính (Properties): Đại diện cho trạng thái của JavaBean.
- Các phương thức (Methods): Cung cấp khả năng thao tác và truy cập vào các thuộc tính, cũng như thực hiện các hành động khác.
- Các sự kiện (Events): Cho phép JavaBean thông báo cho các thành phần khác về những thay đổi trạng thái hoặc hành động đã xảy ra.
Do đó, đáp án C (3) là đáp án chính xác nhất.
Câu hỏi liên quan
Lời giải:
Đáp án đúng: B
Action `` trong JSP được sử dụng để truy xuất giá trị của một thuộc tính từ một JavaBean. Để truy xuất giá trị của một thuộc tính, action này gọi phương thức getter tương ứng của thuộc tính đó trong lớp JavaBean. Ví dụ, nếu bạn có một thuộc tính tên `firstName`, action ` ` sẽ gọi phương thức `getFirstName()` trong lớp JavaBean được tham chiếu bởi `myBean`.
* **A. setter:** Phương thức setter dùng để thiết lập giá trị cho thuộc tính, không phải để lấy giá trị.
* **B. getter:** Phương thức getter dùng để lấy giá trị của thuộc tính. Đây là đáp án đúng.
* **C. constructor:** Constructor là phương thức khởi tạo đối tượng, không liên quan đến việc lấy giá trị thuộc tính.
* **D. destructor:** Destructor là phương thức hủy đối tượng (trong một số ngôn ngữ), không liên quan đến việc lấy giá trị thuộc tính.
Vậy, đáp án đúng là B.
Lời giải:
Đáp án đúng: A
Trong JavaBean, các thuộc tính (properties) phải tuân theo một số quy tắc nhất định để có thể truy cập và thao tác thông qua các phương thức getter và setter. Dưới đây là phân tích chi tiết về từng lệnh và lý do lệnh nào sai:
Lệnh 1: private int items={1,2,3,4,5};
- Đây là cách khởi tạo một mảng (array) trong Java. Tuy nhiên, trong ngữ cảnh của JavaBean, việc khởi tạo trực tiếp một mảng như vậy có thể không linh hoạt. Thông thường, thuộc tính
items
nên được khởi tạo thông qua constructor hoặc setter để dễ dàng quản lý và thay đổi giá trị. Về mặt cú pháp, lệnh này không sai, nhưng trong thực tế xây dựng JavaBean, nó không phải là cách tốt nhất.
Lệnh 2: private PropertyChangeSupport pcs;
PropertyChangeSupport
là một lớp trong Java hỗ trợ việc thông báo (notification) khi một thuộc tính của JavaBean thay đổi. Việc khai báo một đối tượngPropertyChangeSupport
là hoàn toàn hợp lệ và thường được sử dụng trong JavaBeans để tuân thủ các quy tắc về sự kiện (events).
Lệnh 3 và 4:
public int getItems (int i)
{
return items[i];
}
- Đây là một phương thức getter, được sử dụng để truy xuất một phần tử của mảng
items
tại vị tríi
. Tuy nhiên, nó vi phạm quy ước đặt tên của getter trong JavaBeans. Theo quy ước, nếuitems
là một thuộc tính (property) thì getter của nó phải làgetItems()
(không có tham số) hoặc nếu muốn truy cập một phần tử cụ thể, cần có một phương thức khác rõ ràng hơn thay vì dùng getter có tham số. Việc sử dụng getter có tham số (nhưgetItems(int i)
) là một sai sót trong thiết kế JavaBean vì nó không tuân theo chuẩn và có thể gây khó khăn cho các công cụ và framework dựa trên JavaBeans để tự động phát hiện và thao tác với thuộc tính này.
Do đó, lệnh sai trong ngữ cảnh xây dựng JavaBean là lệnh định nghĩa phương thức getItems(int i)
.
Lời giải:
Đáp án đúng: D
Đoạn code JavaBean có một số lỗi logic và cú pháp:
1. **Lỗi logic:**
* Trong thân lệnh `if`, sau khi gọi `pcs.firePropertyChange`, lệnh `return L;` sẽ làm phương thức kết thúc ngay lập tức. Điều này có nghĩa là, dù `L > 0 && L != length` là đúng, thì biến `length` vẫn được gán giá trị `L`, nhưng giá trị này sẽ không bao giờ được trả về. Phương thức `setLength` thường được thiết kế để trả về giá trị đã được gán (hoặc giá trị trước đó nếu việc gán không thành công), nhưng ở đây nó trả về giá trị mới _chỉ khi_ điều kiện `if` đúng.
2. **Lỗi cú pháp:**
* Kiểu trả về của phương thức là `void`, nhưng trong thân hàm lại có lệnh `return L;`. Vì `L` là kiểu `int`, nên việc trả về giá trị kiểu `int` trong một phương thức `void` là không hợp lệ.
Như vậy, Lệnh 6 sai vì đang cố gắng trả về một giá trị trong một phương thức `void`.
Lời giải:
Đáp án đúng: D
Lệnh 3 `<%=TimeBean1.getHours();%>` và lệnh 4 `<%=TimeBean1.getHours()%>` đều đúng vì chúng sử dụng cú pháp scriptlet trong JSP để gọi phương thức `getHours()` của đối tượng `TimeBean1` và in giá trị trả về ra trang web. Cả hai cách viết này đều hợp lệ và cho kết quả tương đương.
Tuy nhiên, có một sự khác biệt nhỏ: Lệnh 3 có dấu chấm phẩy (`;`) ở cuối, còn lệnh 4 thì không. Trong ngữ cảnh này, cả hai đều hoạt động, nhưng việc có dấu chấm phẩy hay không phụ thuộc vào thói quen lập trình và liệu bạn có muốn thêm các lệnh Java khác vào cùng một dòng hay không. Vì cả hai đều đúng, nhưng câu hỏi yêu cầu chọn một đáp án duy nhất, và lệnh 4 phổ biến hơn và thường được sử dụng trong các ví dụ cơ bản. Do đó, lệnh 4 được xem là đáp án phù hợp hơn.
Lệnh 1 khai báo một bean, và lệnh 2 set giá trị cho thuộc tính hours, không in giá trị của thuộc tính hours.
Lời giải:
Đáp án đúng: D
Lệnh sai trong trang JSP là `<%=TimeBean1.setHours(10);%>`. Vì cú pháp này cố gắng gọi phương thức `setHours(10)` trực tiếp trên đối tượng `TimeBean1` trong một biểu thức JSP. Trong khi đó, để thiết lập giá trị cho thuộc tính của một JavaBean trong JSP, bạn nên sử dụng ``. Biểu thức `<%= ... %>` thường được sử dụng để hiển thị giá trị, không phải để gọi các phương thức setter.
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP
Lời giải:
Bạn cần đăng ký gói VIP để làm bài, xem đáp án và lời giải chi tiết không giới hạn. Nâng cấp VIP

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy
89 tài liệu310 lượt tải

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin
125 tài liệu441 lượt tải

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông
104 tài liệu687 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán
103 tài liệu589 lượt tải

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp
377 tài liệu1030 lượt tải

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
99 tài liệu1062 lượt tải
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.
77.000 đ/ tháng