Chương 7: Thừakế và giao tiếp Mục tiêu bài học:
7.3.2 Nạp chồng hàm dựng
Các hàm dựng (constructor) của lớp cũng có thể được nạp chồng giống phương thức. Nạp chồng hàm dựng có thể được thực hiện hoặc với cùng số lượng tham số và kiểu dữ liệu của tham số khác nhau hoặc khác số lượng tham số và kiểu dữ liệu của tham số giống nhau.
Đoạn mã 7 mô tả nạp chồng hàm dựng
Đoạn mã 7:
public class Compound {
public Compound(Element a, Element b){ //Some application code here
}
public Compound(Element a, Element b, Element c){ //Some application code here
} }
Hàm dựng của lớp Compound được nạp chồng với số các tham số đối tượng khác nhau và cùng kiểu dữ liệu. Thực tiễn này được sử dụng khi một đối tượng mới được tạo ra sử dụng một số đối tượng hiện có.
Cách thứ hai của nạp chồng hàm dựng là truyền vào số lượng cố định các tham số có kiểu dữ liệu khác nhau như minh họa trong đoạn mã 8.
Đoạn mã 8:
public class Compound {
public Compound(Element a, Element b, double
quantityOfWater){
//Some application code here }
public Compound(Element a, Element b, Compound c){ //Some application code here
} }
Chương 7 Thừa kế và giao tiếp
93/114 Từ khoá this thường dùng để tham chiếu tới đối tượng hiện tại. Từ khố this có thể được sử dụng tại vị trí cho phép tham chiếu đến đối tượng của lớp hiện hành. Tuy nhiên, this cũng có thể được dùng để gọi hàm dựng khác trong cùng một lớp. Đây gọi là triệu gọi hàm dựng tường minh. Khái niệm được thảo luận sâu hơn trong đoạn mã 9.
Đoạn mã 9:
public class Man { private int height; private double weight; public Man(){ this(0,0); } public Man(double wt){ this(0,wt); }
public Man(int height, double weight){ this.height = height;
this.weight = weight; }
public static void main(String[] args){ //Initializes height and weight to 0 Man objMan1 = new Man();
//Initilizes weight to 160.50 and height to zero Man objman2 = new Man(160.50);
//Initilizes weight to 160.50 and height to 190 Man objman2 = new Man(190, 160.50);
} }
Hàm dựng đầu tiên trong lớp trên triệu gọi tường minh hàm dựng có hai đối số bằng việc sử dụng từ khoá this và gán 0 vào hai đối số. Hàm dựng thứ hai cũng được gọi với từ khoá this và một đối số đơn weight được truyền vào. Hàm dựng thứ ba là hàm dựng chuẩn khởi gán các biến thể hiện bằng lời gọi tới các hàm dựng có tham số thơng qua từ khóa this. Một quy tắc chuẩn cần phải tuân theo là nếu có lệnh gọi đến hàm dựng khác, thì lệnh đó phải được đặt đầu tiên trong hàm dựng hiện tại.
Giao tiếp (interface) là sự trừu tượng của lớp. Một interface xác định những điều một lớp phải làm, nhưng không chỉ rõ làm bằng cách nào.