OOP cơ bản — class, object, encapsulation
Class là gì, object lên heap ra sao, constructor + this, field vs local, encapsulation với access modifier, toString/equals/hashCode, và record để giảm boilerplate.
Nội dung
Danh sách bài học
- 01~12 phút
Class và object trong Java: bản thiết kế và thực thể heap
Phân biệt class và object, cơ chế cấp phát heap với từ khóa new, quản lý biến reference trên stack và so sánh bằng toán tử == với equals.
- 02~12 phút
Constructor và từ khóa this trong Java: khởi tạo object
Nắm vững cú pháp constructor, default constructor, kỹ thuật overload, chaining bằng this() và cách dùng this để phân biệt field với parameter.
- 03~12 phút
Field, local và static trong Java: phân biệt ba vòng đời biến
Phân biệt instance field, static field và local variable trong Java. Nắm vững thứ tự khởi tạo field, static block và cách tránh rò rỉ bộ nhớ.
- 04~12 phút
Tính đóng gói trong Java: private, public và protected
Bốn access modifier trong Java và nguyên tắc đóng gói encapsulation. Bảo vệ invariant dữ liệu, thiết kế getter setter chuẩn và tránh lộ reference.
- 05~12 phút
Bộ ba toString, equals và hashCode: ghi đè chuẩn
Nắm vững contract của toString, equals và hashCode trong Java. Sử dụng Objects.equals, Objects.hash và hiểu vì sao HashMap lỗi khi thiếu hashCode.
- 06~12 phút
Record trong Java: lớp mang dữ liệu bất biến một dòng
Tìm hiểu Record trong Java 16+: cú pháp khai báo, compact constructor, accessor tự sinh, so sánh với class truyền thống và giới hạn kế thừa.
- 07~30 phút
Mini-challenge: Model hoá thư viện với record + class
Thực hành xây dựng hệ thống quản lý thư viện mini kết hợp giữa Record (Book, Borrower) và Class (Library). Áp dụng tính đóng gói và equals/hashCode.