Tải bản đầy đủ (.pdf) (17 trang)

Udql1 03 object class

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.88 MB, 17 trang )

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.
2.
3.
4.
5.
6.
7.

Khái niệm đối tượng
Khái niệm lớp đối tượng
Ngôn ngữ C#
Con trỏ this
Chia sẻ dữ liệu & Phạm vi hoạt động
Hàm khởi tạo
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)

Data

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 ngồ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 tốn tử.
Data

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.
- Lặt (Rau)
- Luộc (Rau)

- Nấu (Cơm)

- Ướp (Cá)
- Kho (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

Các bước nấu ăn
Verb

Object

Lặt

Rau

Ướp



Nấu


Cơm

Luộc

Rau

Kho


Thay đổi
tư duy
lập trình!!

3


9/18/17

Khoa CNTT-ĐH.KHTN

2. Lớp đối tượng
• Khái niệm lớp:

Tập hợp đối tượng có cùng
thuộc tính và phương thức

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 khn mẫu (template) của
một thực thể (entity) dùng để tạo ra các đối
tượng (object)

Data

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ọi 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ố ngun
• 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, xố 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 ngồ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

Tầm ảnh hưởng

Phạm vi hoạt động

private

Hẹp

Bên trong lớp.

public

Rộng

Bên trong lẫn bên ngoài lớp.

protected

Vừa


Bên trong lớp và lớp kế thừa.

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ố ngun: 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:
Thầy Đinh Bá Tiến :
Thầy Nguyễn Minh Huy:
Thầy Nguyễn Hoàng Anh:

Khoa CNTT-ĐH.KHTN

Câu hỏi

GV. Trương Phước Lộc

34


17



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×