Thư viện tài liệu trực tuyến miễn phí dành cho các bạn học sinh, sinh viên
Mô hình làm việc với luồng I/O • Mở luồng -> Sử dụng -> Đóng luồng • I/O với file text • Làm việc với char: FileReader và FileWriter • Làm việc với từng dòng: BufferredReader và BufferredWriter (khởi tạo bằng đối tượng FileReader và FileWriter) • I/O với file nhị phân • Làm việc với byte: FileInputStream và FileOutputStream • Làm việc với...
51 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 830 | Lượt tải: 0
Ngoại lệ • Các sự kiện bất thường xảy ra khi chạy chương trình • Bắt và xử lý ngoại lệ • Ngoại lệ được tung ra như các đối tượng Exception, có thể được bắt và xử lý trong các khối try - catch • Ủy nhiệm ngoại lệ • Định nghĩa các trường hợp đặc biệt là các ngoại lệ để có thể bắt và xử lý
62 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 784 | Lượt tải: 0
Giao diện Comparator được sử dụng để cho phép so sánh hai đối tượng trong tập hợp • Một Comparator phải định nghĩa một phương thức compare( ) lấy 2 tham số Object và trả về -1, 0 hoặc 1 • Không cần thiết nếu tập hợp đã có khả năng so sánh tự nhiên (vd. String, Integer )
48 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 1039 | Lượt tải: 0
Upcasting và downcasting • Nhìn nhận các đối tượng thuộc lớp cơ sở như đối tượng thuộc lớp dẫn xuất (upcasting) và ngược lại (down-casting) • Liên kết tĩnh và liên kết động • Liên kết lời gọi hàm lúc biên dịch (liên kết tĩnh) hay lúc chạy chương trình (liên kết động) • Đa hình • Nhìn nhận một đối tượng dưới nhiều kiểu khác nhau
26 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 750 | Lượt tải: 0
Ghi đè • Các phương thức ở lớp con có cùng chữ ký và danh sách tham số với phương thức ở lớp cha, được tạo ra để định nghĩa lại các hành vi ở lớp con • Lớp trừu tượng • Các lớp không được khởi tạo đối tượng, được tạo ra làm lớp cơ sở cho các lớp con định nghĩa rõ hơn • Có ít nhất một phương thức trừu tượng • Giao diện • Định nghĩa các ph...
41 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 732 | Lượt tải: 0
public class TuGiac { protected Diem d1, d2; protected Diem d3, d4; public TuGiac(Diem d1, Diem d2, Diem d3, Diem d4) { System.out.println("Lop cha TuGiac(d1, d2, d3, d4)"); this.d1 = d1; this.d2 = d2; this.d3 = d3; this.d4 = d4; } } public class HinhVuong extends TuGiac { public HinhVuong() { System.out.println("Lop con HinhVuong()"); ...
37 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 854 | Lượt tải: 0
Truyền giá trị/bản sao của tham số thực − Với tham số có kiểu dữ liệu tham trị (kiểu dữ liệu nguyên thủy): Truyền giá trị/bản sao của các biến nguyên thủy truyền vào − Với tham số có kiểu dữ liệu tham chiếu (mảng và đối tượng): Truyền giá trị/bản sao của tham chiếu gốc truyền vào • Thay đổi tham số hình thức không làm ảnh hưởng đến tham số ...
47 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 783 | Lượt tải: 0
Khi một đối tượng được tạo mới, các thuộc tính của đối tượng đó đều phải được khởi tạo và gán những giá trị tương ứng. • Các đối tượng thành phần được khởi tạo trước Các phương thức khởi tạo của các lớp của các đối tượng thành phần được thực hiện trước
40 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 738 | Lượt tải: 0
Trong biểu đồ lớp, dấu – được sử dụng để thể hiện chỉ định truy cập private • Dấu + được sử dụng để thể hiện chỉ định truy cập public
71 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 779 | Lượt tải: 0
Bảng với các dòng và cột • Thường sử dụng mảng hai chiều • Ví dụ khai báo mảng hai chiều b[2][2] • int b[][] = { { 1, 2 }, { 3, 4 } }; • 1 và 2 được khởi tạo cho b[0][0] và b[0][1] • 3 và 4 được khởi tạo cho b[1][0] và b[1][1] • int b[3][4]
60 trang | Chia sẻ: huongthu9 | Ngày: 18/08/2021 | Lượt xem: 815 | Lượt tải: 0