Xem mẫu
- om
Bộ môn Công nghệ Phần mềm
.c
Viện CNTT & TT
ng
Trường Đại học Bách Khoa Hà Nội
co
an
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG th
o ng
du
Bài 04. Khởi tạo và sử dụng đối
u
cu
tượng
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung
om
1. Phương thức khởi tạo
.c
2. Các loại phương thức khởi tạo
ng
Khai báo và khởi tạo đối tượng
co
3.
an
4. Sử dụng đối tượng
th
Quản lý bộ nhớ và so sánh đối tượng
ng
5.
o
du
6. Hủy bỏ đối tượng
u
Ví dụ và bài tập
cu
7.
2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Bài giảng E-learning
om
◼ Phương thức khởi tạo, khai báo và sử dụng đối tượng
https://www.youtube.com/watch?v=rw_bPkesNH0
.c
◼
https://www.youtube.com/watch?v=MTCXgdBLrlw
ng
◼
https://www.youtube.com/watch?v=XznNdY3Bfvg
co
◼
Quản lý bộ nhớ: Stack và Heap
an
◼
https://www.youtube.com/watch?v=450maTzSIvA
th
◼
https://www.youtube.com/watch?v=1rLHJJqx98Q
ng
◼
Equals và ==
o
◼
du
◼ https://www.youtube.com/watch?v=qQe69w1YF54
u
Java finalize method
cu
◼
◼ https://www.youtube.com/watch?v=j3fRK7T1pQo
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung
om
1. Phương thức khởi tạo
.c
2. Các loại phương thức khởi tạo
ng
Khai báo và khởi tạo đối tượng
co
3.
an
4. Sử dụng đối tượng
th
Quản lý bộ nhớ và so sánh đối tượng
ng
5.
o
du
6. Hủy bỏ đối tượng
u
Ví dụ và bài tập
cu
7.
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Phương thức khởi tạo
om
◼ Dữ liệu cần được khởi tạo trước khi sử dụng
.c
◼ Lỗi khởi tạo là một trong các lỗi phổ biến
Với kiểu dữ liệu đơn giản, sử dụng toán tử =
ng
◼
co
◼ Với đối tượng → Cần dùng phương thức khởi tạo
an
th
ng
Student
o
- name
du
- address
u
cu
- studentID
- dateOfBirth
Nguyễn Thu Hương
Nguyễn Hoàng Nam …
Hải Phòng…
Hà Nội… 5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Khởi tạo và hủy bỏ đối tượng
Mỗi đối tượng khi tồn tại và hoạt động được hệ điều hành
om
◼
cấp phát một vùng nhớ để lưu lại các giá trị của dữ liệu
.c
thành phần
ng
◼ Khi tạo ra đối tượng HĐH sẽ gán giá trị khởi tạo cho các dữ
co
liệu thành phần
an
◼ Phải được thực hiện tự động trước khi người lập trình có
th
thể tác động lên đối tượng ng
◼ Sử dụng hàm/phương thức khởi tạo
o
Ngược lại khi kết thúc cần phải giải phóng hợp lý tất cả các
du
◼
bộ nhớ đã cấp phát cho đối tượng.
u
cu
◼ Java: JVM
◼ C++: Hàm hủy (destructor)
6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Phương thức khởi tạo
om
◼ Là phương thức đặc biệt được gọi tự động
.c
khi tạo ra đối tượng
ng
Mục đích chính: Khởi tạo cho các thuộc tính
co
◼
của đối tượng
an
th
Student
ng
- name
o
du
- address
- studentID
u
cu
- dateOfBirth
Nguyễn Thu Hương
Nguyễn Hoàng Nam …
Hải Phòng…
Hà Nội…
7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Phương thức khởi tạo
om
◼ Mỗi lớp phải chứa ít nhất một constructor
.c
◼ Có nhiệm vụ tạo ra một thể hiện mới của lớp
ng
◼ Tên của constructor trùng với tên của lớp
co
◼ Constructor không có kiểu dữ liệu trả về
an
Ví dụ:
th
◼ ng
o
du
public BankAccount(String o, double b){
u
cu
owner = o;
balance = b;
}
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Phương thức khởi tạo
Phương thức khởi tạo có thể dùng các chỉ
om
◼
định truy cập
.c
ng
◼ public
co
◼ private
an
◼ Không có (mặc định – phạm vi package)
◼
th
Một phương thức khởi tạo không thể dùng
ng
các từ khóa abstract, static, final,
o
du
native, synchronized.
u
cu
◼ Các phương thức khởi tạo không được xem
như là thành viên của lớp.
9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung
om
1. Phương thức khởi tạo
.c
2. Các loại phương thức khởi tạo
ng
Khai báo và khởi tạo đối tượng
co
3.
an
4. Sử dụng đối tượng
th
Quản lý bộ nhớ và so sánh đối tượng
ng
5.
o
du
6. Hủy bỏ đối tượng
u
Ví dụ và bài tập
cu
7.
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Các loại phương thức khởi tạo
om
◼ 2 loại phương thức khởi tạo
.c
◼ Phương thức khởi tạo mặc định (Phương thức
ng
khởi tạo không tham số)
co
Phương thức khởi tạo có tham số
an
◼
th
o ng
du
u
cu
11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phương khởi tạo mặc định
(default constructor)
om
◼ Là phương thức khởi tạo KHÔNG THAM SỐ
.c
ng
public BankAccount(){
co
owner = "noname"; balance = 100000;
an
}
th
ng
◼ Một lớp nên có phương thức khởi tạo mặc định
o
du
u
cu
12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phương thức khởi tạo mặc định
om
◼ Khi LTV không viết một phương khởi tạo nào trong lớp
JVM cung cấp phương thức khởi tạo mặc định
.c
◼
Phương thức khởi tạo mặc định do JVM cung cấp có chỉ định truy
ng
◼
cập giống như lớp của nó
co
public class MyClass{
an
public static void main(String args){
th
//... ng
}
public class MyClass{
o
}
du
MyClass.java public MyClass(){
}
u
cu
public static void main(String args){
//...
}
Compiled
}
MyClass.class
13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Phương thức khởi tạo không tham số
om
◼ Một phương thức khởi dựng có thể có các
.c
tham số truyền vào
ng
Dùng khi muốn khởi tạo giá trị cho các thuộc
co
◼
tính
an
◼ Ví dụ: th
o ng
du
public BankAccount(String o, double b){
u
owner = o;
cu
balance = b;
}
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Nội dung
om
1. Phương thức khởi tạo
.c
2. Các loại phương thức khởi tạo
ng
Khai báo và khởi tạo đối tượng
co
3.
an
4. Sử dụng đối tượng
th
Quản lý bộ nhớ và so sánh đối tượng
ng
5.
o
du
6. Hủy bỏ đối tượng
u
Ví dụ và bài tập
cu
7.
15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khai báo và khởi tạo đối tượng
om
◼ Đối tượng được tạo ra, thể hiện hóa
.c
(instantiate) từ một mẫu chung (lớp).
ng
Các đối tượng phải được khai báo kiểu của
co
◼
đối tượng trước khi sử dụng:
an
th
◼ Kiểu của đối tượng là lớp các đối tượng
ng
◼ Ví dụ:
o
du
◼ String strName;
u
◼ BankAccount acc;
cu
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khai báo và khởi tạo đối tượng
Đối tượng cần được khởi tạo trước khi sử
om
◼
dụng
.c
Sử dụng toán tử = để gán
ng
◼
Sử dụng từ khóa new với constructor để khởi tạo đối
co
◼
tượng:
an
◼ Từ khóa new dùng để tạo ra một đối tượng mới
th
◼ Tự động gọi phương thức khởi tạo tương ứng
ng
◼ Một đối tượng được khởi tạo mặc định là null
o
Đối tượng được thao tác thông qua tham
du
◼
chiếu (~ con trỏ).
u
cu
◼ Ví dụ:
BankAccount acc1;
acc1 = new BankAccount(); 17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khai báo và khởi tạo đối tượng
om
◼ Có thể kết hợp vừa khai báo và khởi tạo đối
.c
tượng
ng
Cú pháp:
co
◼
an
Ten_lop ten_doi_tuong = new
th
Pthuc_khoi_tao(ds_tham_so); ng
Ví dụ:
o
◼
du
BankAccount account = new BankAccount();
u
cu
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khai báo và khởi tạo đối tượng
om
◼ Phương thức khởi tạo không có giá trị trả về,
.c
nhưng khi sử dụng với từ khóa new trả về một tham
ng
chiếu đến đối tượng mới
co
an
th
o ng
du
u
cu
19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khai báo và khởi tạo đối tượng
om
◼ Mảng các đối tượng được khai báo giống như
.c
mảng dữ liệu cơ bản
ng
Mảng các đối tượng được khởi tạo mặc định
co
◼
với giá trị null.
an
◼ Ví dụ: th
o ng
Employee emp1 = new Employee(123456);
du
Employee emp2;
u
cu
emp2 = emp1;
Department dept[] = new Department[100];
Test[] t = {new Test(1),new Test(2)};
20
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn