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:
Khoa CNTT-ĐH.KHTN
Câu hỏi
GV. Trương Phước Lộc
34
17
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:
bai_giang_lap_trinh_ung_dung_quan_ly_1_chuong_3_doi_tuong_va.pdf

