Chủ Nhật, 2 tháng 3, 2014

Tài liệu Lớp và đối tượng trong Java docx

Lớpvàđốitượng
trong Java
Lớpvàđốitượng trong Java
2
NguyễnViệtHà
Nội dung
 Định nghĩa lớp
 Thuộc tính
 Phương thức
 Kiểm soát truy cập
 Phương thức khởi tạo
 Thao tác với đối tượng
Lớpvàđốitượng trong Java
3
NguyễnViệtHà
Tài liệu tham khảo
 Thinking in Java, chapter 1, 2
 Java how to program, chapter 8
Lớpvàđốitượng trong Java
4
NguyễnViệtHà
Định nghĩalớp
Lớp được định nghĩabởi
class class_name {

}
Ví dụ:
class MyDate {
}
Lớpvàđốitượng trong Java
5
NguyễnViệtHà
Đốitượng
 Đốitượng được thao tác thông qua tham chiếu
 Tham chiếu đóng vai trò gần giống như một con trỏ
 Đối tượng phải đượctạora một cách tường
minh bằng toán tử new
MyDate d;
d = new MyDate();
MyDate myBirthday = d;
Lớpvàđốitượng trong Java
6
NguyễnViệtHà
Thuộc tính, phương thứcvàkiểm soát
truy cập
class MyDate {
private int year, mon, day;
public int getYear() {
return year;
}
public boolean setYear(int y) {

}

}
Lớpvàđốitượng trong Java
7
NguyễnViệtHà
MyDate d = new MyDate();

d.year = 2005; // compile error
d.setYear(2005);
System.out.println(”Year=” + d.getYear());
Lớpvàđốitượng trong Java
8
NguyễnViệtHà
Phương thức trùng tên (overload)
 Có thểđịnh nghĩa các phương thức trùng tên, tuy nhiên phải phân
biệtbởi danh sách tham số
class MyDate {

public boolean setMonth(int m) { …}
public boolean setMonth(String s) { …}
}
d.setMonth(9);
d.setMonth(”September”);
Lớpvàđốitượng trong Java
9
NguyễnViệtHà
Phương thứckhởitạo (constructor)
 Dữ liệu nên đượckhởitạotrước khi sử
dụng
 lỗi khởi tạo là một trong các lỗi phổ biến
 Phương thứckhởitạo
 là phương thức đặcbiệt đượcgọitựđộng
sau khi tạora đốitượng
 nhằmmục đích chính là khởitạo cho các
thuộc tính của đốitượng
Lớpvàđốitượng trong Java
10
NguyễnViệtHà
Phương thứckhởitạo
 Có tên trùng với tên lớp
 Không nhận giá trị trả lại
 Mỗi khi đối tượng được tạo ra bởi toán tử
new, hệ thống sẽ tự động gọi phương
thức khởi tạo.
 nếu không khai báo, hệ thống sẽ gọi
constructor mặc định là một phương thức
rỗng
Lớpvàđốitượng trong Java
11
NguyễnViệtHà
Ví dụ: Constructor rỗng
class SayMsg {
}

SayMsg msg = new SayMsg();
Lớpvàđốitượng trong Java
12
NguyễnViệtHà
Ví dụ: Constructor mặc định
class SayMsg {
SayMsg() {
System.out.println(”Hello”);
}
}

SayMsg msg = new SayMsg();
Lớpvàđốitượng trong Java
13
NguyễnViệtHà
Ví dụ:
class SayMsg {
SayMsg() {
System.out.println(”Hello”);
}
SayMsg(String s) {
System.out.println(s);
}
}

SayMsg msg1 = new SayMsg();
SayMsg msg2 = new SayMsg(”Java”);
Lớpvàđốitượng trong Java
14
NguyễnViệtHà
Ví dụ:
class SayMsg {
SayMsg(String s) {
System.out.println(s);
}
}

SayMsg msg1 = new SayMsg(); // error
SayMsg msg2 = new SayMsg(””);

Không có nhận xét nào:

Đăng nhận xét