59
28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 1 NGÔN NGỮ LẬP TRÌNH ÔN TẬP

NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 1

NGÔN NGỮ LẬP TRÌNH

ÔN TẬP

Page 2: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cấu trúc đề thi

• Câu hỏi dạng lý thuyết 5 câu

• Câu hỏi dạng bài tập 30 câu

– Kết quả đoạn chương trình

– Điền code vào chỗ trống

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 2

Page 3: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nội dung ôn tập • Quy tắc chung

• Các loại dữ liệu

• Các cấu trúc điều khiển

• Hàm, nạp chồng hàm, khuôn mẫu hàm, hàm đệ quy

• Mảng, con trỏ, mảng động

• Cấu trúc, lớp, đối tượng, các quyền truy cập dữ liệu trong lớp

• Hàm tạo, hàm hủy, kế thừa, đa kế thừa, đa hình, hàm ảo, hàm thuần ảo, lớp trừu tượng

• Nạp chồng toán tử

• Thư viện khuôn mẫu chuẩn - STL

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 3

Page 4: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Quy tắc chung

• Quy tắc đặt tên

• Quy tắc viết chú thích

• Phạm vi sử dụng biến

• Nhập / xuất dữ liệu, luồng vào >>, luồng ra

<<, xuất các ký tự đặc biệt (\n, \t, \”…)

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 4

Page 5: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Các kiểu dữ liệu

• Kiểu cơ sở

• Kiểu mảng

• Kiểu vector

• So sánh mảng và vector

• Cách truy cập mảng, vector

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 5

Page 6: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Các cấu trúc điều khiển

• Rẽ nhánh:

– if…., if… else

– switch…. case

• Lặp:

– for

– while

– do … while

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 6

Page 7: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

if/ if … else

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 7

Page 8: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

if … else rút gọn

• Toán tử điều kiện:

• Trả về giá trị 1 nếu biểu thức kiểm tra cho kết

quả đúng, ngược lại trả về giá trị 2

• VD:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 8

Page 9: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

switch….case

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 9

Sau mỗi lựa chọn nên có lệnh break để thoát khỏi khối lệnh

Nếu cách xử lý của nhiều lựa chọn giống nhau thì viết:

Khi không gặp trường hợp nào ở trên thì câu lệnh ở đây

được thực hiện

Page 10: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

for

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 10

Dấu phân cách giữa các lệnh ở đây là dấu ;

Nếu không có cặp ngoặc này thì chỉ một lệnh được thực hiện trong

vòng lặp for

Nếu có dấu ; ở đây thì không lệnh nào phía dưới

được thực hiện trong vòng lặp for

Page 11: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cách khai báo hàm

Khai báo trước, định nghĩa sau Khai báo kèm định nghĩa luôn

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 11

Nhưng đều phải ở ngoài hàm main

Page 12: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Chú ý kiểu trả về của hàm

• Kiểu trả về là void

thì không cần return

• Các kiểu trả về khác

thì return một giá trị

cùng kiểu trả về

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 12

Page 13: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cách gọi hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 13

• Kiểu trả về là void thì

không được gọi trong

lệnh cout hoặc trong

các biểu thức

Page 14: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cách gọi hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 14

• Các kiểu trả về khác

thì có thể được gọi

trong lệnh cout hoặc

trong các biểu thức

Page 15: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Chú ý tham số truyền vào hàm

• Nếu muốn nhận được sự thay đổi của tham số

truyền vào hàm sau lời gọi hàm thì phải truyền

bằng tham chiếu (truyền địa chỉ của biến)

• Ngược lại truyền bằng tham trị (truyền giá trị

của biến)

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 15

Page 16: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Chú ý tham số truyền vào hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 16

Truyền vào địa chỉ của biến a và b

Page 17: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng hàm

• Là cách viết nhiều hàm trùng tên nhưng khác

nhau về:

– Kiểu của các tham số

– Số lượng các tham số

– Kiểu trả về của hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 17

Page 18: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng hàm

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 18

Page 19: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Khuôn mẫu hàm

• Là cách viết một hàm ở dạng tổng quát thay vì

phải viết nhiều hàm nạp chồng có phần định

nghĩa giống nhau, chỉ khác nhau về kiểu tham

số và kiểu trả về

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 19

Page 20: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Khuôn mẫu hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 20

Page 21: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Hàm đệ quy

• Là hàm mà trong thân hàm có lời gọi đến

chính hàm đó.

• Một hàm đệ quy được chia làm 2 phần:

– Phần cơ sở: điều kiện thoát khỏi đệ quy

– Phần đệ quy: gọi hàm với tham số tiến dần đến

phần cơ sở

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 21

Page 22: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Hàm đệ quy

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 22

Phần cơ sở

Phần đệ quy

Page 23: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Mảng

• Là tập hợp các biến cùng kiểu được đặt chung

1 tên

• Các cách khai báo mảng:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 23

Page 24: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Khởi tạo giá trị cho các phần tử của mảng

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 24

• Nếu không khởi tạo thì các phần tử của mảng nhận giá trị mặc định

• Nếu giá trị khởi tạo nhiều hơn kích thước mảng thì sẽ báo lỗi

• Nếu không đủ giá trị khởi tạo thì những phần tử còn lại sẽ nhận giá trị 0

• Nếu kích thước mảng không được khai báo thì danh sách khởi tạo sẽ xác định kích thước mảng

Page 25: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng mảng

• Mảng được truy cập thông qua chỉ số

• Các chỉ số của mảng được đánh từ 0 -> n-1

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 25

Page 26: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng mảng

• Khi 1 mảng làm tham số cho hàm thì:

– Phần định nghĩa hàm chỉ cần viết khai báo mảng

không có số phần tử

– Phần gọi hàm không cần truyền số phần tử vào

tham số

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 26

Page 27: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng mảng

• Ví dụ:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 27

Page 28: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Con trỏ

• Là biến chứa địa chỉ của một vùng nhớ mà nó

trỏ đến

• Khai báo con trỏ <tên kiểu> *<tên biến>

– Ví dụ: int *p; double *t;

• Sử dụng:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 28

Page 29: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Con trỏ • Sử dụng:

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 29

5 10 10

Page 30: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Con trỏ • Cấp phát vùng nhớ khi cần (dùng toán tử new)

• Hủy vùng nhớ khi không sử dụng (delete)

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 30

Page 31: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Mảng động

• Mảng động là mảng có kích thước không được chỉ ra tại thời điểm lập trình

• Kích thước của mảng được quyết định khi chương trình chạy

• Kích thước có thể được tăng thêm hoặc co lại khi cần -> tránh lãng phí bộ nhớ

• Sử dụng biến con trỏ để quản lý mảng động

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 31

Page 32: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Mảng động

• Cấp phát mảng động

• Hủy mảng động

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 32

Page 33: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng mảng động • Dùng chỉ số truy cập như mảng tĩnh

• Không dùng chỉ số

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 33

Page 34: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cấu trúc (struct)

• Là kiểu dữ liệu gộp giống như mảng

• Tuy nhiên:

Mảng là tập các giá trị có cùng kiểu

Cấu trúc là tập các giá trị có kiểu khác nhau

Cần phải định nghĩa trước khi sử dụng

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 34

Page 35: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Định nghĩa cấu trúc

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 35

Page 36: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Định nghĩa cấu trúc

• Ví dụ

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 36

Page 37: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng cấu trúc

• Để truy cập vào từng thành phần của cấu trúc

dùng dấu (.)

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 37

Page 38: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Ví dụ

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 38

Khai báo một mảng d gồm 3 phần tử kiểu date

Truy cập vào từng thành phần của kiểu date bằng

dấu .

Page 39: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Lớp

• Tương tự như cấu trúc

• Khác:

– Cho phép che dấu thông tin

– Phân quyền truy cập (private, protected, public)

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 39

Page 40: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Định nghĩa lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 40

Page 41: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Định nghĩa lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 41

• Ví dụ: định nghĩa lớp phân số Các thành phần dữ liệu được che

dấu bởi từ khóa private

Các hàm thành phần công khai được khai báo sau từ khóa public

Các hàm khởi tạo

Hàm hủy

Page 42: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 42

Page 43: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng toán tử

• Các cách nạp chồng:

– Nạp chồng ngoài lớp

– Nạp chồng bằng hàm bạn

– Nạp chồng bằng hàm thành viên của lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 43

Page 44: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng ngoài lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 44

Page 45: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng bằng hàm bạn

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 45

Page 46: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Nạp chồng trong lớp

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 46

Page 47: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng toán tử đã nạp chồng

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 47

Page 48: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Kế thừa

• Một lớp có thể được kế thừa từ một hoặc nhiều

lớp khác

• Phạm vi truy xuất các thành phần được kế thừa

phụ thuộc vào kiểu kế thừa (public, protected,

private)

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 48

Page 49: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Cú pháp định nghĩa lớp kế thừa

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 49

• Lớp dẫn xuất có thể truy cập các thành phần protected và public của lớp cơ sở

• Lớp dẫn xuất vẫn kế thừa các thành phần private của lớp cơ sở nhưng không thể truy cập trực tiếp được

Page 50: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Quy trình gọi hàm khởi tạo và hàm hủy

của lớp dẫn xuất và lớp cơ sở

• Khởi tạo lớp cơ sở,

khởi tạo lớp dẫn

xuất

• Hủy lớp dẫn xuất,

hủy lớp cơ sở

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 50

Page 51: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Khái niệm định nghĩa lại trong kế thừa

• Phân biệt nạp chồng với định nghĩa lại

– Nạp chồng: tên hàm giống hệt cái trước, nhưng

phải khác kiểu trả về hoặc khác tham số

– Định nghĩa lại: tên hàm phải giống, kiểu trả về và

các tham số cũng phải giống hệt cái trước, chỉ khác

về cách làm việc

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 51

Page 52: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Đa hình

• Đa hình là cách thể hiện khác nhau của một hàm ở lớp cơ sở và các lớp dẫn xuất

• VD: 3 hàm nhap() trong minh họa làm 3 việc khác nhau

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 52

Page 53: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Hàm ảo

• Hàm ảo giúp thể hiện rõ tính đa hình trong quá trình liên kết muộn

• Hàm ảo có từ khóa virtual trước khai báo hàm

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 53

Page 54: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Hàm thuần ảo

• Hàm thuần ảo là hàm ảo không cần định nghĩa

• Ở lớp dẫn xuất, nếu không ghi đè hàm thuần ảo thì hàm đó vẫn là hàm thuần ảo

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 54

Page 55: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Lớp trừu tượng

• Một lớp có hàm thuần ảo được gọi là lớp trừu

tượng

• Một lớp là lớp trừu tượng thì không thể được

dùng làm kiểu để khai báo đối tượng

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 55

Page 56: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Không gian tên

• Sử dụng không gian tên nhằm xác định chính

xác địa chỉ của một hàm

• Cách tạo không gian tên

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 56

Page 57: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Sử dụng không gian tên

• Hoặc

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 57

Page 58: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

Thư viện chuẩn

• Nhận biết một số thư viện chuẩn

• Biết các hàm, các cấu trúc được cung cấp bởi

thư viện chuẩn

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 58

Page 59: NGÔN NGỮ LẬP TRÌNH ÔN TẬP - fit.hnue.edu.vnfit.hnue.edu.vn/~dungntp/NNLT/ontap.pdfNội dung ôn tập • Quy tắc chung • Các loại dữ liệu • Các cấu trúc

28/05/2018 Nguyễn Thị Phương Dung - Khoa CNTT - ĐHSPHN 59