1. Trang chủ
  2. » Công Nghệ Thông Tin

Udql1 03 object class

17 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đối Tượng Và Lớp Đối Tượng
Người hướng dẫn GV. Trương Phước Lộc
Trường học Đại Học Khoa Học Tự Nhiên
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Giảng
Năm xuất bản 2017
Thành phố Hồ Chí Minh
Định dạng
Số trang 17
Dung lượng 1,88 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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

Trang 1

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

2

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

Trang 2

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

Trang 3

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ử.

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

- Luộc (Rau) - Kho (Cá)

- Nấu (Cơm)

– 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 - Cá.Ướp

- Rau.Luộc - Cá.Kho

- Cơm.Nấu

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

Lặt Rau Ướp Cá Nấu Cơm Luộc Rau Kho Cá

Thay đổi

tư duy lập trình!!

Trang 4

2 Lớp đối tượng

• Khái niệm lớp:

Person1:

Name: Peter.

Age: 25.

Hair Color: Brown.

Eye Color: Brown.

Job: Worker.

Person2:

Name: Thomas.

Age: 50.

Hair Color: White.

Eye Color: Blue.

Job: Teacher.

Human:

Name.

Age.

Hair Color.

Eye Color.

Job.

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

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)

8

Data

Trang 5

3 Khai báo lớp trong C#

Khoa CNTT-ĐH.KHTN

3 Khai báo đối tượng trong C#

Trang 6

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

Trang 7

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

14

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

Trang 8

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

15

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

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

16

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

Trang 9

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ị

17

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

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

18

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

Trang 10

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

19

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

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

20

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

Trang 11

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

21

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

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

Trang 12

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 Tầm ảnh hưởng Phạm vi hoạt động

Trang 13

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#

26

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

Trang 14

5 Khoảng cách giữa 2 điểm

27

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

Khoa CNTT-ĐH.KHTN

5 Trung điểm của 2 điểm

28

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

Trang 15

5 Trọng tâm của tam giác

29

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

Khoa CNTT-ĐH.KHTN

6 Hàm khởi tạo

• Mặc định

• Có tham số

• Sao chép

30

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

Trang 16

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

31

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

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

Trang 17

Tham khảo

• Bài giảng phương pháp lập trình HDT:

▫ Thầy Nguyễn Tiến Huy: nthuy@fit.hcmus.edu.vn

▫ Thầy Đinh Bá Tiến : dbtien@fit.hcmus.edu.vn

▫ Thầy Nguyễn Minh Huy: nmhuy@fit.hcmus.edu.vn

▫ Thầy Nguyễn Hoàng Anh: nhanh@fit.hcmus.edu.vn

Khoa CNTT-ĐH.KHTN

Câu hỏi

34

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

Ngày đăng: 09/04/2023, 06:30

w