a) Viết chương trình tạo lớp ảo (abstract) MatHang trong đó:
- Các thuộc tính gồm: Mamh là mã mặt hàng, Ten là tên, dongia là đơn giá của mặt hàng.
- Các phương thức bao gồm: các setters/getters cho các thuộc tính, các Constructor và 2 phương thức ảo Nhap() và HienThi().
b) Tạo lớp Tivi kế thừa từ lớp MatHang trong đó:
- Các thuộc tính LoaiTV là loại ti vi, ManHinh là độ lớn màn hình, s là biến scanner dùng để nhập dữ liệu.
-Các phương thức gồm: các setters/getters cho các thuộc tính, các Constructor, phương thức Nhap() dùng để nhập vào một ti vi và HienThi() dùng để hiển thị một tivi.
c) Tạo hàm thử nghiệm main() nhập vào một danh sách các ti vi cho đến khi ấn phím n thì kết thúc, hiển thị lại danh sách các Ti vi đã nhập.
4.Cho 2 lớp GiangVien và lớp CanBo gồm các thuộc tính và phương thức như sau:
Có thể bạn quan tâm!
- Lập trình Java - 10
- Lập trình Java - 11
- Sơ Đồ Thực Hiện Của Xử Lý Ngoại Lệ
- Các Lớp Trình Bao Bọc Cho Các Kiểu Dữ Liệu Nguyên Thu ̉ Y.
- Lập trình Java - 15
- Các Phương Thức Của Lớp Inputstream
Xem toàn bộ 267 trang tài liệu này.
a) Viết chương trình tạo lớp ảo (abstract) GiangVien trong đó:
viên.
- Các thuộc tính gồm: Ma là mã, HoTen là Họ và tên, DiaChi là địa chỉ của giảng
- Các phương thức bao gồm: các setters/getters cho các thuộc tính,
cácConstructorvà 2 phương thức ảo Nhap() và HienThi(). b)Tạo lớp CanBo kế thừa từ lớp GiangVien trong đó:
- Các thuộc tính ChucVu là chức vụ, HeSo là hệ số chức vụ, s là biến scanner dùng để nhập dữ liệu.
-Các phương thức gồm: các setters/getters cho các thuộc tính, các Constructor, Nhap() dùng để nhập một cán bộ và HienThi() dùng để hiển thị một cán bộ.
c) Tạo hàm thử nghiệm main() nhập vào một danh sách các cán bộ cho đến khi ấn phím n thì kết thúc; hiển thị lại danh sách các cán bộ đã nhập; nhập vào họ tên cán bộ, tìm kiếm thông tin theo họ tên cán bộ đó và hiển thị thông tin các cán bộ tìm được ra màn hình.
5.Cho lớp NhanVien và lớp DLNhanVien gồm các thuộc tính và phương thức như sau:
a) Viết chương trình tạo lớp NhanVien trong đó:
- Các thuộc tính gồm: Manv là mã nhân viên, Hoten là họ tên nhân viên, Que là quê quán của nhân viên, Hesoluong là hệ số lương của nhân viên
- Các phương thức gồm: các setters/getters cho các thuộc tính, các Constructor.
b) Xây dựng lớp thử nghiệm DLNhanVien để tạo danh sách nhân viên(dsnv)
gồm:
- Các thuộc tính:
n đùng để lưu trữ độ dài của danh sách 0<n <=100.
k dùng để lưu trữ số lượng học viên hiện có trong danh sách.
dsnv dùng để lưu trữ danh sách nhân viên.
s là biến Scanner dùng trong nhập dữ liệu.
- Tạo các phương thức:
NhapNhanVien() để nhập một nhân viên vào danh sách.
HienThiNhanVien() để hiển thi danh sách nhân viên.
TimKiemNhanVien() để tìm kiếm một nhân viên theo họ tên.
c) Viết phương thức main() chạy thử nghiệm các phương thức trên sao cho lặp lại nhập nhân viên vào danh sách cho đến khi ấn phín „n‟ để kết thúc; hiển thị lạidanh sách nhân viên đã nhập; nhập vào họ tên nhân viên tìm kiếm và hiển thị lại thông tin các nhân viên có họ tên đó.
6. Cho lớp GiaiThua gồm các thuộc tính, phương thức như sau:
a) Viết chương trình tạo lớp GiaiThua trong đó:
- Thuộc tính n là số cần tính.
- Các phương thức gồm: các setters/getters cho các thuộc tính, Các Constructor, phương thức KiemTra() đùng để kiểm tra giá trị nhập vào n có phải là một số nguyên dương không, TinhGT() để tính n!.
b)Tạo lớp Test để thực hiện thử nghiệm lớp GiaiThua ở trên sao cho: Thông báo cho người dùng nhập vào một số n, kiểm tra giá trị của n nhập vào cho đến khi giá trị n đúng, tính và hiển thị kết quả ra màn hình.
7. Cho lớp PhepTinh gồm các thuộc tính, phương thức như sau:
a) Viết chương trình tạo lớp PhepTinh trong đó:
-Các thuộc tính ToanHang1, ToanHang2 là các toán hạng, ToanTu là các phép toán +, -, *, /.
- Các phương thức gồm: các setters/getters cho các thuộc tính, các Constructor, thức KiemTra() đùng để kiểm tra giá trị nhập vào có phải là một số nguyên không và TinhToan() để tính giá trị của biểu thức.
b)Tạo một lớp Test trong đó sử dụng lớp PhepTinh đã tạo để thực hiện các tính toán sao cho: chương trình lặp lại các yêu cầu người dùng nhập vào các toán hạng và phép toán cho đến khi dữ liệu nhập vào đúng, thực hiện tính toán và in kết quả ra màn hình.
8. Cho lớp PhanSo gồm các thuộc tính, phương thức như mô tả ở hình sau:
a) Viết chương trình tạo lớp PhanSo trong đó:
- Các thuộc tính TuSo, MauSo là tử số và mẫu số của phân số.
- Các phương thứcgồm: các setters/getters cho các thuộc tính, các Constructor, KiemTra() đùng để kiểm tra giá trị nhập vào có phải là một số nguyên không, RutGon() đùng để tính và trả về phân số rút gọn của phân số đã cho và TinhToan() để tính giá trị phân số.
b)Tạo một lớp Test trong đó sử dụng lớp PhanSo đã tạo để thực hiện các tính toán sao cho: chương trình lặp lại các yêu cầu người dùng nhập vào các tử số và mẫu số của phân số cho đến khi dữ liệu nhập vào đúng, thực hiện tính toán và in kết quả ra màn hình.
9. Cho lớp XeMay gồm các thuộc tính, phương thức như hình sau:
a) Viết chương trình tạo lớp XeMay trong đó:
- Các thuộc tính gồm: Biensolà biển số xe, TenXe là tên xe, Mau là màu của xe, HangSX là hãng sản xuất xe.
- Các phương thức bao gồm: các setters/getters cho các thuộc tính, cácConstructor.
b)Tạo một lớp Test trong đó sử dụng lớpXeMay đã tạo để viết chương trình thực hiện các công việc sau:
- Nhập vào một số n (0<n<100) và nhập vào một danh sách n xe máy và hiển thị lại danh sách đã nhập
- Nhập vào một vị trí k ( 0<k<=n) và xóa đi xe máy tại vị trí k đó, hiển thị lại danh sách sau khi xóa.
- Nhập vào một biển số xe, tìm và hiển thị thông tin về xe đó nếu có, ngược lại thông báo không có xe đó.
10. Cho lớp Sach gồm các thuộc tính, phương thức mô tả như hình sau:
a) Viết chương trình tạo lớp Sach trong đó:
- Các thuộc tính gồm: Ten là tên sách, Tacgia là tác giả, gia là giá, nam là năm xuất bản cuốn sách.
- Các phương thức gồm: các setters/getters cho các thuộc tính và các Constructor.
b)Tạo một lớp Test trong đó sử dụng lớpSach đã tạo để viết chương trình thực hiện các công việc sau:
- Nhập vào một số n (0<n<100) và nhập vào một danh sách n cuốn sách và hiển thị lại danh sách đã nhập.
- Nhập vào một vị trí k ( 0<k<=n) sau đó thêm vào một cuốn sách mới tại vị trí k đó, hiển thị lại danh sách sau khi thêm.
- Nhập vào một tên tác giả, tìm và hiển thị thông tin về các cuốn sách của tác giả đó nếu có, ngược lại thông báo không có sách của tác giả đó.
CHƯƠNG 3: CÁC GÓI VÀ LẬP TRÌNH VÀO RA
3.1. Các gói trong Java
3.1.1. Giới thiệu
Gói và giao diện là hai thành phần chính của chương trình Java. Các gói được lưu trữ theo kiểu phân cấp, và được nhập (import) một cách tường minh vào những lớp mới được định nghĩa. Các giao diện có thể được sử dụng để chỉ định một tập các phương thức. Các phương thức này có thể được hiện thực bởi một hay nhiều lớp.
Một tập tin nguồn Java có thể chứa một hoặc tất cả bốn phần sau đây:
- Một câu lệnh khai báo gói (package).
- Những câu lệnh nhập thêm các gói hoặc các lớp khác vào chương trình (import).
- Một khai báo lớp công cộng (public)
- Một số các lớp dạng riêng tư (private) của gói.
Một tập tin nguồn Java sẽ có khai báo lớp public đơn. Tất cả những phát biểu khác tuỳ chọn. Chương trình nên được viết theo thứ tự: đặt tên gói (package), lệnh nhập các gói (import), và định nghĩa lớp (class).
3.1.2. Các giao diện
Giao diện là một trong những khái niệm quan trọng nhất của ngôn ngữ Java. Nó cho phép một lớp có nhiều lớp cha (superclass). Các chương trình Java có thể thừa kế chỉ một lớp tại một thời điểm, nhưng có thể hiện thực hàng loạt giao diện. Giao diện được sử dụng để thay thế một lớp trừu tượng, không có một sự kế thừa mã thực thi nào. Giao diện tương tự như các lớp trừu tượng. Sự khác nhau ở chỗ một lớp trừu tượng có thể có những hành vi cụ thể, nhưng một giao diện thì không thể có một phương thức cụ thể nào có hành vi của riêng mình. Các giao diện cần được hiện thực. Một lớp trừu tượng có thể được thừa kế, nhưng không thể tạo ra được thể hiện (đối tượng).
Có thể hiểu một cách đơn giản một giao diện là một lớp chứa một tập các phương thức trừu tượng (các phương thức chưa được đinh đĩa). Các phương thức này được kế thừa và cài đặt ở lớp cài đặt giao diện này.
Tạo một giao diện tương tự như tạo một lớp nhưng nó có điểm khác với lớp là một lớp mô tả các thuộc tính và phương thức của đối tượng, còn một giao diện thì có chứa các phương thức mà một lớp cài đặt.
Về cơ bản một giao diện khác với một lớp thông như sau:
- Không có các cài đặt khởi tạo trong một giao diện
lớp
- Một giao diện không chứa đựng bất kỳ constructor nào
- Tất cả các phương thức trong một giao diện là trừu tượng
- Một giao diện chỉ chứa các thuộc tính được khai báo là cả static và final
- Một giao diện không thể được kế thừa từ một lớp; mà nó được cài đặt từ một
- Một giao diện có thể được kế thừa từ các giao diện khác
Định nghĩa giao diện
Từ khóa interface được sử dụng để khai báo một giao diện. Để tạo một giao diện
có thể thực hiện theo cấu trúc sau:
import packages; //chỉ định các gói hay lớp sẽ được dùng trong chương trình public interface Interface_Name
{
//Any number of final, static fields
//Any number of abstract method declarations
}
Trong đó:
- interface là từ khóa tạo giao diện, mặc định một giao diện là một lớp trừu tượng mà không cần sử dụng từ khóa abstract
- Interface_Name là tên của giao diện muốn tạo
- Các phương thức và thuộc tính của giao diện được khai báo trong phần thân của nó nằm giữa cặp ngoặc nhọn “{}”.
- Các phương thức của giao diện mặc định là trừu tượng nên không cần sử dụng từ khóa abstract khi khai báo. Các phương thức phải được khai báo là public.
Ví dụ 3.1: Tạo một giao diện Animal có 2 phương thức eat và travel như sau
Public interface Animal { public void eat(); public void travel();
}
Lưu ý: chương trình trên phải được lưu trữ với tên Animal.java
Cài đặt giao diện