Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
0,93 MB
Nội dung
1 10/01/22 09:12 LậP TRÌNH HƯớNG ĐốI TƯợNG 10/01/22 09:12 CHƯƠNG III Định nghĩa lớp đối tượng Đối tượng: Một vật, tượng giới thực cần phản ánh Lớp: Xác định thuộc tính phương thức đối tượng Thành phần lớp: + Keyword class + Class name + Class body (nội dung lớp) 3/20 Xây dựng lớp đối tượng a Khai báo class { [quyền truy xuất:] //khai báo thành phần liệu lớp [quyền truy xuất:] //khai báo thành phần hàm lớp }; 4/20 a Khai báo Trong đó: : người dùng đặt tuân theo qui tắc tên Ví dụ: SV, NGUOI, Hoa_Don, ps, Ma_Tran…5/20 a Khai báo [quyền truy xuất:] Là khả truy xuất thành phần liệu Ngầm định private priate: phạm vi lớp public: nơi đối tượng tồn protected: phạm vi lớp lớp kế 6/20 thừa a Khai báo Thành phần lớp Có thể gồm: Dữ liệu Thuộc tính Phương thức 7/20 a Khai báo Khai báo thành phần Dữ liệu thuộc tính: Tương tự khai báo biến ; Chú ý: không khởi tạo giá trị ban đầu 8/20 a Khai báo Khai báo thành phần Phương thức (Hàm thành phần) Cách 1: Khai báo lớp định nghĩa tênlớp::([đối sô]) { // } Cách 2: định nghĩa lớp 9/20 a Khai báo Ví dụ 1: Xây dựng cấu trúc liệu mô tả sinh viên: Dữ liệu: họ tên, ngày sinh, giới tính, Điểm tốn, lý, hóa, Đtb Phương thức: nhập, tính đtb, in Lớp sinh viên 10 /20 B KHAI BÁO ĐốI TƯợNG Cú pháp: ; Ví dụ: khai báo đối tượng sinh viên SV sv1, sv2; Khi sv1, sv2 hai đối tượng sinh viên 14 /20 C TRUY XUấT THÀNH PHầN Dữ liệu .; Ví dụ: truy xuất họ tên ngày sinh sv sv1.ht; sv2.ns; Nếu trỏ: ->; C TRUY XUấT THÀNH PHầN Thành phần hàm .([ds đối số]); Ví dụ: truy xuất phương thức nhập in sv sv1.nhap(); sv2.in(); Với trỏ: ->([đối số]); 16 /20 Các phương thức Một đối tượng thường có kiểu phương thức Các phương thức khởi tạo: Constructor Các phương thức truy vấn: Queries Các phương thức cập nhập: Updates Các phương thức hủy: Destructor 17/20 a Hàm khởi tạo Khai báo: ([ds tham số]); Định nghĩa lớp: ::([ds tham số]) { //thân hàm } 18 /20 a Hàm khởi tạo Như hàm khởi tạo: Có với lớp Tên hàm giống tên lớp Khơng có kiểu trả Khơng có giá trị trả Nếu khơng xây dựng chương trình tự động sinh hàm khởi tạo mặc định 19 Được gọi tự động khai báo thể /20 lớp b Hàm hủy Khai báo: ~(); Chức năng: - Hủy bỏ, giải phóng đối tượng hết phạm vi tồn 20/20 b Hàm hủy Như hàm hủy: Khơng có đối số Khơng có giá trị trả Khơng định nghĩa lại Trùng tên với lớp có dấu ~ trước Thực số công việc trứơc hệ thống giải phóng nhớ 21 Chương trình dịch tự động sinh hàm hủy/20 mặc định Qúa tải toán tử Cú pháp: operator([ds tham số]) Định nghĩa ngồi lớp: ::operator([ds tham số]) { //thân hàm } 22 /20 Qúa tải tốn tử Ví dụ: Nạp chồng tốn tử +, * lớp phân số Nạp chồng toán tử + vector Danh sách tốn tử nạp chồng: + - * / = < > += -= *= /= > = == != = ++ % ~ &= ^= |= && || %= [] () , new delete new[] delete[] & ^ ! ->* -> 23 /20 | Qúa tải toán tử Cách gọi hàm tốn tử: Dùng cú pháp thơng thường phép tốn Ví dụ: PS a,b,c; c=a+b; Dùng hàm thành phần đối tượng Ví dụ: PS a,b,c; c=a.operator+(b); 24 /20 Sử dụng TC++ để lập trình: Xây dựng lớp phân số gồm thành phần: -DL: tử số, mẫu số -Pt: nhập, in, tính tổng, tính tích hai phân số Hàm main: -Nhập phân số -In phân số tối giản -Tính in tổng, tích, thương hai phân số 25 /20 Sử dụng TC++ để lập trình: Xây dựng lớp ma trận gồm thành phần: -DL: số dòng, số cột -Pt: nhập, in, kiểm tra ma trận có đơn vị khơng Hàm main: -Nhập ma trận a -Thơng báo có ma trận đơn vị khơng -In ma trận 26 /20 Sử dụng TC++ để lập trình: Xây dựng lớp Nhân viên gồm thành phần: -DL: họ tên, mã nv, ngày, tháng, nam sinh, giới tính, hệ số lương -Pt: nhập, xuất danh sách nhân viên Hàm main: -Nhập danh sách nhân viên - Xuất danh sách nhân viên Lưu ý: Xuất ngày tháng năm sinh dạng ngày/tháng/năm 27 /20 Sử dụng TC++ để lập trình: Xây dựng lớp hóa đơn gồm thành phần: -DL: mã vật tư, tên vật tư, ngày lập, số lượng, đơn giá, thành tiền (thành tiền = số lượng*đơn giá) -Pt: nhập, in, tính thành tiền Hàm main: -Nhập hóa đơn -Tính thành tiền cho hóa đơn -In danh sách hóa đơn 28 /20 ... KHAI BÁO ĐốI TƯợNG Cú pháp: ; Ví dụ: khai báo đối tượng sinh viên SV sv1, sv2; Khi sv1, sv2 hai đối tượng sinh viên 14 /20 C TRUY XUấT THÀNH PHầN Dữ liệu .( [đối số]); 16 /20 Các phương thức Một đối tượng thường