Nội dung chính
Sau khi đã tìm hiểu các tính chất đặc trưng trong lập trình OOP ở các bài trước, bài hôm nay chúng ta sẽ cùng tìm hiểu một số từ khóa phổ biến như super, this, static trong OOP cũng như các sử dụng chúng như thế nào?
Từ khóa super
– Được dùng trong hàm dựng hoặc trong hàm thực thể để chỉ đến đối tượng cha của đối tượng hiện hành
– Được dùng như một thể hiện của lớp cha trong khai báo của lớp con
Ví dụ
[html] class HinhChuNhat extends HinhHoc {double dai,rong;
public HinhChuNhat() {}
public HinhChuNhat(double dai,double rong) {
super();
this.dai=dai;
this.rong=rong;
}
public HinhChuNhat(double a) {
dai=rong=a;
}
}
[/html]
Từ khóa this
– Được dùng trong hàm dựng hoặc trong hàm thực thể để chỉ đến đối tượng hiện hành
– Được dùng để truy xuất đến các biến thành viên mà bị các biến cục bộ che khuât vì khai báo trùng tên
Ví dụ
[html] class HinhChuNhat extends HinhHoc {double dai,rong;
public HinhChuNhat() {}
public HinhChuNhat(double dai,double rong) {
this.dai=dai;
this.rong=rong;
}
public HinhChuNhat(double a) {
dai=rong=a;
}
}
[/html]
Từ khóa static
– Biến static
+ Được khai báo sử dụng từ khóa static
+ Khi giá trị của biến thay đổi, tất cả các đối tượng của lớp sẽ được cập nhật để nhìn thấy giá trị mới của biến
+ Có thể được quản lý mà không cần phải tạo ra thực thể của lớp
+ Được truy xuất tới thông qua tên lớp
Ví dụ
[html] class Myclass {public static int giatri=10;
public void Tang(int x) {
giatri+=x;
}
}
[/html]
– Hàm static
+ Cũng được xem là phương thức của lớp, nhưng không tham chiếu tới bất kỳ thực thể nào của lớp, thường dùng để truy xuất tới các biến thành viên và hàm thành viên
+ Từ khóa this không được dùng trong hàm static
+ Có thể được truy xuất bằng cách sử dụng tên lớp và tên thực thể
[html] class Myclass {public static void main(String args[]) {
Myclass a=new Myclass();
}
}
[/html]
Lời kết : Những từ khóa super, this, static trong OOP là rất quan trọng cho việc học lên cao sau này, đây là những từ khóa phổ biến nhất vì vậy bạn cần nắm rõ ý nghĩa cũng như cách sử dụng của nó trong class cũng như object.
Chúc bạn thành công!