Lập trình hướng đối tượng với Java - Lớp và đối tượng trong Java

„Đị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

pdf17 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2365 | Lượt tải: 1download
Tóm tắt nội dung Lập trình hướng đối tượng với Java - Lớp và đối tượng trong Java, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Lớp và đối tượng
trong Java
Lớp và đối tượng trong Java 2Nguyễn Việt Hà
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ớp và đối tượng trong Java 3Nguyễn Việt Hà
Tài liệu tham khảo
„ Thinking in Java, chapter 1, 2
„ Java how to program, chapter 8
Lớp và đối tượng trong Java 4Nguyễn Việt Hà
Định nghĩa lớp
Lớp được định nghĩa bởi
class class_name {
...
}
Ví dụ:
class MyDate {
}
Lớp và đối tượng trong Java 5Nguyễn Việt Hà
Đối tượng
„ Đối tượ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 được tạo ra một cách tường
minh bằng toán tử new
MyDate d;
d = new MyDate();
MyDate myBirthday = d;
Lớp và đối tượng trong Java 6Nguyễn Việt Hà
Thuộc tính, phương thức và 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ớp và đối tượng trong Java 7Nguyễn Việt Hà
MyDate d = new MyDate();
...
d.year = 2005; // compile error
d.setYear(2005);
System.out.println(”Year=” + d.getYear());
Lớp và đối tượng trong Java 8Nguyễn Việt Hà
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ệt bở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ớp và đối tượng trong Java 9Nguyễn Việt Hà
Phương thức khởi tạo (constructor)
„ Dữ liệu nên được khởi tạo trướ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ức khởi tạo
… là phương thức đặc biệt được gọi tự động
sau khi tạo ra đối tượng
…nhằm mục đích chính là khởi tạo cho các 
thuộc tính của đối tượng
Lớp và đối tượng trong Java 10Nguyễn Việt Hà
Phương thức khởi tạ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ớp và đối tượng trong Java 11Nguyễn Việt Hà
Ví dụ: Constructor rỗng
class SayMsg {
}
…
SayMsg msg = new SayMsg();
Lớp và đối tượng trong Java 12Nguyễn Việt Hà
Ví dụ: Constructor mặc định
class SayMsg {
SayMsg() {
System.out.println(”Hello”);
}
}
...
SayMsg msg = new SayMsg();
Lớp và đối tượng trong Java 13Nguyễn Việt Hà
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ớp và đối tượng trong Java 14Nguyễn Việt Hà
Ví dụ:
class SayMsg {
SayMsg(String s) {
System.out.println(s);
}
}
...
SayMsg msg1 = new SayMsg(); // error
SayMsg msg2 = new SayMsg(””);
Lớp và đối tượng trong Java 15Nguyễn Việt Hà
Copy constructor
„ Khởi tạo đối tượng bằng một đối tượng khác
public class MyDate {
private int year, month, day;
public MyDate() {...}
public MyDate(MyDate d) {
year = d.year;
month = d.month;
day = d.day;
}
...
}
Lớp và đối tượng trong Java 16Nguyễn Việt Hà
MyDate d = new MyDate();
d.setYear(2005);
d.setMonth(9);
d.setDay(12);
MyDate openDay = new MyDate(d);
MyDate dd = d;
Lớp và đối tượng trong Java 17Nguyễn Việt Hà
Kiểm soát truy cập
public class MyDate {
private int year, month, day;
public MyDate() {...}
public MyDate(MyDate d) {
year = d.year; // year = d.getYear();
month = d.month;
day = d.day;
}
...
}

File đính kèm:

  • pdfOOP_JAVAM03.pdf
Tài liệu liên quan