Problem

3/6

Công cụ sửa đổi quyền truy cập

Theory Click to read/hide

Công cụ sửa đổi truy cập
Theo mặc định, tất cả trườngphương thức của một lớp trong Java là riêng tư. Điều này có nghĩa là không ai có thể truy cập chúng, nghĩa là ngoài các đối tượng của lớp này, không phương thức nào có thể sử dụng các trường và phương thức của các đối tượng của lớp này.

Các trường và phương thức có thể được đặt ở chế độ công khai bằng công cụ sửa đổi quyền truy cập công khai. Ngoài ra còn có một công cụ sửa đổi riêng tư làm cho trường ở chế độ riêng tư. Nó là tùy chọn vì tất cả các trường và phương thức đều ở chế độ riêng tư theo mặc định. Dưới đây là một ví dụ về việc sử dụng công cụ sửa đổi public private. Sách học { tên chuỗi công khai; Tên tác giả chuỗi; private int ageYêu cầu; Chuỗi văn bản; trang int công khai; int getTextLength() { trả về độ dài văn bản(); } công khai int getAverageLetterCount() { trả về getTextLength() / pageCount; } int riêng getDifficuiltyLevel() { trả về 5 * ageRequirement * text.Length(); } }
Trong phiên bản này của lớp Book , các trường name và pageCount được công khai để đọc và sửa đổi trong các đối tượng khác. Phương thức getAverageLetterCount() cũng có thể được gọi từ các đối tượng của các lớp khác. Tất cả các trường và phương thức khác vẫn ở chế độ riêng tư và chỉ khả dụng trong các phương thức của lớp này. Trong phương thức chung getAverageLetterCount() chúng ta có thể gọi phương thức riêng getTextLength()getAverageLetterCount() thuộc về chính lớp đó. Nhưng nó sẽ không hoạt động từ một phương thức của lớp khác.

Nhưng tại sao sau đó đặt các trường ở chế độ riêng tư? Trong mã Java, hầu như bạn sẽ chỉ thấy các trường riêng tư. Thực tế là nếu quyền truy cập vào các trường riêng tư được thực hiện thông qua các phương thức công khai của đối tượng, thì với bất kỳ quyền truy cập nào như vậy vào các trường riêng tư, sẽ có thể thực hiện các hành động và kiểm tra bổ sung. Thông tin thêm về điều này sẽ có trong bài học về đóng gói.

Problem

Đặt tất cả các trường của lớp Sách ở chế độ riêng tư. Xóa mọi phương pháp hiện có.

Tạo một phương thức công khai có tên setText (kiểu trả về void) với một đối số newText sẽ thay đổi giá trị của text thành Văn bản mới. Thêm một phương thức riêng tư getWordsCount sẽ đếm số từ trong văn bản và trả về dưới dạng int.
Từ — một chuỗi các ký tự bất kỳ, trong đó không có khoảng trắng.

Nó được đảm bảo rằng một số không gian trong một hàng không thể đi.