Toán tử móc xích giữa các lớp kế thừa
Các toán tử tạo lập:
- có thể được nạp chồng (Overloading) trong cùng 1 lớp.
- không thể viết đè (Override) ở các lớp con.
Java có 2 toán tử tạo lập: this() và super()
- This(): sử dụng để tạo ra đối tượng của cùng lớp hiện thời
- Supper(): được sử dụng trong các toán tử tạo lập của lớp con để truy xuất đến các thành phần và constructor của lớp cha từ lớp con
Ex: this()
Supper() - ex
Triệu hồi tường minh Constructor lớp cha (explicitly)
Ví dụ
Nạp chồng các phương thức
Nạp chồng các phương thức (overloading):
cùng 1 tên,
cùng lớp
khác nhau về danh sách tham số
khác nhau về số lượng hoặc
khác nhau về thứ tự các kiểu.
Ex, JDK API có lớp java.lang.Math có nhiều hàm nạp chồng (min())
Ex - Overloading
Ghi đè phương thức
Ghi đè phương thức (Overriding) là:
Lớp con định nghĩa phương thức mới có cùng dấu hiệu với phương thức ở lớp cha. (khác lớp)
Dấu hiệu(signature) bao gồm:
Số lượng tham số
Kiểu dữ liệu của tham số
Thứ tự của tham số .
Khác kiểu trả về có được không?
Ex: overriding
So sánh Overloading và Overriding
Overloading: các phương thức
- Cùng tên
- Cùng lớp
- Khác danh sách tham số
Overriding: các phương thức
- Cùng tên
- Khác lớp (Cha – con)
- Cùng danh sách tham số