Bài giảng Lập trình ứng dụng quản lý 1 - Chương 3: Đối tượng và lớp đối tượng - Trương Phước Lộc

9/18/17  
Lập trình Ứng dụng quản lý 1  
Chương 03:  
Đối tượng và lớp đối tượng  
GV. Trương Phước Lộc  
08/2017  
Khoa CNTT-ĐH.KHTN  
Nội dung  
1. Khái niệm đối tượng  
2. Khái niệm lớp đối tượng  
3. Ngôn ngữ C#  
4. Con trỏ this  
5. Chia sẻ dữ liệu & Phạm vi hoạt động  
6. Hàm khởi tạo  
7. Bài tập  
GV. Trương Phước Lộc  
2
1
9/18/17  
Khoa CNTT-ĐH.KHTN  
1. Phương pháp lập trình hướng đối tượng  
• Phương pháp lập trình hướng đối tượng bao  
bọc (encapsulate) dữ liệu (thuộc tính - attribute)  
và các chức năng (phương thức – behavior) vào  
bên trong lớp (class)  
ata  
Khoa CNTT-ĐH.KHTN  
1. Đối tượng  
• Chúng ta thấy các đối tượng xung quanh  
như người, đồ vật,…  
• Mỗi đối tượng có  
▫ Các thuộc tính (thông tin về nó)  
▫ Các phương thức (các hành động nó có thể  
thực hiện)  
• Các đối tượng có thể tác động qua lại bằng  
cách tạo, thay đổi, sử dụng các đối tượng  
khác  
2
9/18/17  
Khoa CNTT-ĐH.KHTN  
1. Đối tượng  
• Cấu trúc đối tượng:  
– Hộp đen: thuộc tính trong, phương thức ngoài.  
– Bốn nhóm phương thức:  
– Nhóm tạo hủy.  
– Nhóm truy xuất thông tin.  
– Nhóm xử lý nghiệp vụ.  
– Nhóm toán tử.  
ata  
Khoa CNTT-ĐH.KHTN  
1. Đối tượng  
• Vì sao là hướng đối tượng?  
– Hướng thủ tục (procedural oriented).  
– Lấy hành động làm trung tâm.  
– Hàm là xương sống.  
Các bước nấu ăn  
Verb  
Lặt  
Object  
Rau  
Cá  
- Lặt (Rau)  
- Ướp (Cá)  
- Kho (Cá)  
Ướp  
Nấu  
Luộc  
Kho  
- Luộc (Rau)  
- Nấu (Cơm)  
Cơm  
Rau  
Cá  
– Hướng đối tượng (object oriented).  
– Lấy dữ liệu làm trung tâm.  
– Đối tượng là xương sống.  
- Rau.Lặt  
- Rau.Luộc  
- Cơm.Nấu  
- Cá.Ướp  
- Cá.Kho  
Thay đổi  
tư duy  
lập trình!!  
3
9/18/17  
Khoa CNTT-ĐH.KHTN  
2. Lớp đối tượng  
Tập hợp đối tượng có cùng  
thuộc tính và phương thức  
• Khái niệm lớp:  
Person1:  
Name: Peter.  
Age: 25.  
Hair Color: Brown.  
Eye Color: Brown.  
Job: Worker.  
Human:  
Name.  
Age.  
Hair Color.  
Eye Color.  
Job.  
Person2:  
Name: Thomas.  
Age: 50.  
Hair Color: White.  
Eye Color: Blue.  
Job: Teacher.  
Bản mô tả đối tượng  
Kiểu của đối tượng  
Khoa CNTT-ĐH.KHTN  
2. Lớp đối tượng  
• Lớp (class) là một khuôn mẫu (template) của  
một thực thể (entity) dùng để tạo ra các đối  
tượng (object)  
ata  
8
4
9/18/17  
Khoa CNTT-ĐH.KHTN  
3. Khai báo lớp trong C#  
Khoa CNTT-ĐH.KHTN  
3. Khai báo đối tượng trong C#  
5
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. Con trỏ this  
• Con trỏ this được sử dụng duy nhất trong phạm vi nội tại  
của lớp (class)  
• Miền giá trị của con trỏ this là địa chỉ của chính đối  
tượng đang gọi thực hiện.  
Khoa CNTT-ĐH.KHTN  
4. Con trỏ this  
This được sử dụng  
để gọi thuộc tính  
bên trong lớp  
6
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. Con trỏ this  
This được sử dụng  
để gọphương  
thức bên trong lớp  
Khoa CNTT-ĐH.KHTN  
4. VD1: Điểm Oxy  
• Dữ liệu: x, y kiểu số thực  
• Phương thức: nhập, xuất, khoảng cách 2 điểm  
GV. Trương Phước Lộc  
14  
7
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. VD2: Điểm trong Oxyz  
• Dữ liêu: x, y, z kiểu số thực  
• Phương thức: nhập, xuất, khoảng cách 2 điểm  
GV. Trương Phước Lộc  
15  
Khoa CNTT-ĐH.KHTN  
4. VD3: Phân số  
• Dữ liệu: tử số, mẫu số kiểu số nguyên  
• Phương thức: nhập, xuất  
GV. Trương Phước Lộc  
16  
8
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. VD4: Đơn thức  
• Ví dụ đơn thức: 2x^3, x, x^5  
• Dữ liệu: hệ số và số mũ kiểu số nguyên  
• Phương thức: nhập, xuất, tính giá trị  
GV. Trương Phước Lộc  
17  
Khoa CNTT-ĐH.KHTN  
4. VD5: một số ví dụ thực tế  
• Moodle  
• Facebook  
• StackOverflow  
• Dữ liệu: theo thực tế  
• Phương thức: nhập, xuất  
GV. Trương Phước Lộc  
18  
9
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. VD6: TamGiac  
• Dữ liệu: có 3 đỉnh kiểu DiemOxy  
• Phương thức: nhập, xuất, chu vi, trọng tâm  
GV. Trương Phước Lộc  
19  
Khoa CNTT-ĐH.KHTN  
4. VD7: Danh sách số nguyên  
• Dữ liệu: mảng số nguyên  
• Phương thức: nhập, xuất, thêm tại i, xoá tại i,  
sửa tại i  
GV. Trương Phước Lộc  
20  
10  
9/18/17  
Khoa CNTT-ĐH.KHTN  
4. VD8: Danh sách phân số  
• Dữ liệu: mảng phân số  
• Phương thức: nhập, xuất, thêm tại i, xoá tại i,  
sửa tại i  
GV. Trương Phước Lộc  
21  
Khoa CNTT-ĐH.KHTN  
5. Phạm vi hoạt động  
• Có 3 phạm vi hoạt động cơ bản sau  
▫ private  
▫ protected  
▫ public  
22  
11  
9/18/17  
Khoa CNTT-ĐH.KHTN  
5. Phạm vi hoạt động  
• Các thuộc tính và phương thức được khai báo  
với phạm vi là Private thì chỉ được sử dụng nội  
tại bên trong lớp.  
• Các thuộc tính và phương thức được khai báo  
với phạm vi là Protected thì chỉ được sử dụng  
nội tại bên trong lớp và các lớp được dẫn xuất  
từ lớp đó.  
• Các thuộc tính và phương thức được khai báo  
với phạm vi là Public thì được sử dụng cả bên  
trong và bên ngoài lớp.  
Khoa CNTT-ĐH.KHTN  
5. Phạm vi hoạt động  
• Phạm vi hoạt động càng hẹp, truy xuất càng hạn  
chế.  
• Phân loại phạm vi hoạt động  
Phạm vi  
private  
Tầm ảnh hưởng  
Phạm vi hoạt động  
Bên trong lớp.  
Hẹp  
Rộng  
Vừa  
public  
Bên trong lẫn bên ngoài lớp.  
Bên trong lớp và lớp kế thừa.  
protected  
12  
9/18/17  
Khoa CNTT-ĐH.KHTN  
5. Phạm vi hoạt động  
• Dr. Guru khuyên:  
▫ Các thành phần trong lớp nên có phạm vi hoạt  
động như sau:  
– Thuộc tính có phạm vi private để hạn chế truy  
xuất.  
– Phương thức có phạm vi public để cung cấp tính  
năng.  
Khoa CNTT-ĐH.KHTN  
5. Chia sẻ dữ liệu  
• Phương thức get/set của dữ liệu  
• Properties trong ngôn ngữ C#  
GV. Trương Phước Lộc  
26  
13  
9/18/17  
Khoa CNTT-ĐH.KHTN  
5. Khoảng cách giữa 2 điểm  
GV. Trương Phước Lộc  
27  
Khoa CNTT-ĐH.KHTN  
5. Trung điểm của 2 điểm  
GV. Trương Phước Lộc  
28  
14  
9/18/17  
Khoa CNTT-ĐH.KHTN  
5. Trọng tâm của tam giác  
GV. Trương Phước Lộc  
29  
Khoa CNTT-ĐH.KHTN  
6. Hàm khởi tạo  
• Mặc định  
• Có tham số  
• Sao chép  
GV. Trương Phước Lộc  
30  
15  
9/18/17  
Khoa CNTT-ĐH.KHTN  
6. Hàm khởi tạo  
• Điểm  
• Đơn thức  
• Tam giác  
• Danh sách số nguyên  
• Đa thức  
• Đa giác  
GV. Trương Phước Lộc  
31  
Khoa CNTT-ĐH.KHTN  
Bài tập  
• BT1: Xây dựng lại bài tập Điểm vừa minh họa ở trên  
• BT2: Tính khoảng cách 2 điểm, trung điểm trong OXYZ  
• BT3: Tính cộng, trừ, nhân, chia 2 phân số  
• BT4: Tính cộng trừ, nhân, chia 2 số phức  
• BT5: Học sinh (Tên, email, điểm)  
• BT6: Nhân viên (Tên, địa chỉ, ngày bắt đầu, hệ số)  
• BT7: Danh sách số nguyên: nhập, xuất, tính tổng, tính  
tích  
• BT8: Danh sách phân số: nhập, xuất, tính tổng, tính tích  
• BT9: Tính chu vi, diện tích của tam giác.  
• BT10: Tính chu vi của đa giác  
Tất cả các lớp đều phải xây dựng 3 hàm khởi tạo  
16  
9/18/17  
Khoa CNTT-ĐH.KHTN  
Tham khảo  
• Bài giảng phương pháp lập trình HDT:  
▫ Thầy Nguyễn Tiến Huy: [email protected]mus.edu.vn  
▫ Thầy Đinh Bá Tiến : [email protected]mus.edu.vn  
▫ Thầy Nguyễn Minh Huy: [email protected]mus.edu.vn  
▫ Thầy Nguyễn Hoàng Anh: [email protected]mus.edu.vn  
Khoa CNTT-ĐH.KHTN  
Câu hỏi  
GV. Trương Phước Lộc  
34  
17  
pdf 17 trang myanh 24400 Free
Bạn đang xem tài liệu "Bài giảng Lập trình ứng dụng quản lý 1 - Chương 3: Đối tượng và lớp đối tượng - Trương Phước Lộc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_ung_dung_quan_ly_1_chuong_3_doi_tuong_va.pdf