Bài giảng lập trình hướng đối tượng chương 3 GV hà văn sang

51 275 0
Bài giảng lập trình hướng đối tượng  chương 3   GV  hà văn sang

Đ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

Lập trình hướng đối tượng Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568 Email: sanghv@hvtc.edu.vn Website: 3/7/2014 8:40 πμ http://www.hvtc.edu.vn/sanghv CHƯƠNG III 3/7/2014 8:40 πμ 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 }; 3/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… 4/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ế thừa 5/20 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 6/20 a Khai báo Khai báo thành phần  Dữ liệu: Tương tự khai báo biến ; Chú ý: không khởi tạo giá trị ban đầu 7/20 a Khai báo Khai báo thành phần  Hàm thành phần Cách 1: Khai báo lớp định nghĩa lớp tênlớp::([đối sô]) { // } Cách 2: định nghĩa lớp 8/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 toán, lý, hóa, Đtb Phương thức: nhập, tính đtb, in  Lớp sinh viên 9/20 a Khai báo Ví dụ 2: Xây dựng cấu trúc liệu mô tả hóa đơn: Dữ liệu: mã vật tư, tên vật tư, loại phiếu, ngày lập, khối lượng, đơn giá, thành tiền… Phương thức: nhập, tính thành tiền, in  Lớp hóa đơn 10/20 Hàm bạn lớp bạn (tiếp) Ví dụ:  Xây dựng lớp PS với phép toán: +, -, toán tử nhập (>>), toán tử xuất (, >(istream& is, PS &x); Trả nhớ đệm Phải thay đổi để phù hợp Giá trị thay đổi 5/20 Hàm bạn lớp bạn (tiếp) Nhận xét  Hàm bạn hàm thành viên nên không bị ảnh hưởng từ khoá truy xuất  Không hạn chế số lượng hàm bạn  Hàm bạn lớp hàm tự  Hàm bạn lớp hàm thành phần lớp khác 6/20 Hàm bạn lớp bạn (tiếp) Khái niệm lớp bạn:  Lớp A lớp bạn lớp B B có chứa khai báo: friend class A; Vậy: Nếu A lớp bạn B hàm thành phần A trở thành hàm bạn B 7/20 Thành phần tĩnh a Dữ liệu tĩnh Khái niệm: Là thành phần liệu lớp không gắn cụ thể với đối tượng Dùng chung cho toàn lớp Các đối tượng lớp dùng chung thành phần tĩnh 8/20 Thành phần tĩnh a Dữ liệu tĩnh Khai báo: static ; Ví dụ: class PS{ int ts, ms; static int count; public: PS(int m=0, int n=1){ ts=t; ms=m; count++;} }; 9/20 Thành phần tĩnh a Dữ liệu tĩnh Truy xuất: Theo đối tượng (cách thông thường) Ví dụ: PS a; a.count=0; Theo lớp Ví dụ: PS::count=0; 10/20 Thành phần tĩnh a Dữ liệu tĩnh Chú ý:  Tồn chưa có đối tượng Phải khởi tạo trước đối tượng phát sinh Phải khởi tạo hàm theo cú pháp: :: = ; Ví dụ: int PS::count=0; 11/20 Ví dụ: • Xây dựng lớp Hóa đơn có thành phần liệu tĩnh để kiểm soát số đối tượng HĐ cấp phát 12/20 Thành phần tĩnh b Phương thức tĩnh Khái niệm:  hàm thành phần lớp không gắn với đối tượng cụ thể Dùng để thao tác chung cho lớp Trong thân hàm đối tượng ẩn static (tham số); Ví dụ: xây dựng lớp SV gồm pt nhập, in sinh viên Nhập, in danh sách sinh viên 13/20 Thành phần a Dữ liệu Khái niệm:  thành phần liệu lớp không thay đổi giá trị trình tồn Ví dụ: Với lớp nhân số CMT Khai báo: const ; Thành phần thay đối sau đối tượng hình thành 14/20 Thành phần a Dữ liệu Xác định giá trị:  hàm khởi tạo Ví dụ: NS(int k=0):scmt(k){…} Cú pháp ([ds tham số]):(đối số) ,(đối số) … { //thân hàm khởi tạo } 15/20 Thành phần b Phương thức Khái niệm:  hàm thành phần lớp khả thay đổi thành phần dl đối tượng Ví dụ: Với lớp PS phương thức in() Khai báo: (tham số) const ; Định nghĩa: ::(tham số) const { //thân hàm } 16/20 Thành phần đối tượng Khái niệm:  thành phần liệu lớp có kiểu lớp khác Khai báo: Ví dụ: thành phần ns lớp SV đối tượng lớp date 17/20 Bài tập (week 5) • • Xây dựng toán tử nhập >>, xuất , =, [...]... tổng thành tiền -In danh sách sau khi xếp theo số tiền giảm dần 31 /20 Qui cách nộp bài Gửi tới địa chỉ: sanghv@gmail.com CC: sanghv@hvtc.edu.vn Tiêu đề: [Lớp][BT3][Stt][Họ và tên] Ví dụ: [K 43/ 41.01][BT3][14][Lê hoàng Vũ] Hạn nộp: 23h59’ ngày 29/01/2008 32 /20 Lập trình hướng đối tượng Hà Văn Sang Bộ môn: Tin học TC – KT Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568 Email: sanghv@hvtc.edu.vn... Website: 3/ 7/2014 8 :39 πμ http://www.hvtc.edu.vn/sanghv 1 CHƯƠNG III 3/ 7/2014 8 :39 πμ 2 4 Mảng và con trỏ của đối tượng Khai báo [spt]; Ví dụ: SV sinhvien[50]; PS a[8]; *; Ví dụ: SV *p = sinhvien; 3/ 20 5 Hàm bạn và lớp bạn Khái niệm hàm bạn:  Hàm bạn của một lớp là hàm không phải là thành phần của lớp  Nhưng có khả năng truy xuất đến mọi thành phần của đối tượng. .. c=a.operator+(b); 24/20 Bài tập (week 4) • Nạp chồng các toán tử của các bài tập trong tuần 3 25/20 Bài tập (week 3) • Sử dụng TC++ để lập trình: 1 Xây dựng lớp phân số gồm các thành phần: -DL: tử số, mẫu số -Pt: nhập, in, tối giản, so sánh 2 ps Hàm main: -Nhập mảng có n phân số (n; 13/ 20 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 và in của sv sv1.nhap(); sv2.in(); Với con trỏ: ->.( [đối số]); 14/20 2 Các phương thức Một đối tượng thường có 4 kiểu hành vi cơ bản Các phương thức khởi tạo: Constructor Các phương thức truy... (tiếp) Một số hàm khởi tạo: - Hàm khởi tạo mặc định (default constructor) - Hàm khởi tạo sao chép (copy constructor) Khai báo: (const &) Đối tượng mới sẽ là bản sao của đối tượng đã có 18/20 b Hàm hủy - Destructor Khai báo: ~(); Chức năng: - Hủy bỏ, giải phóng các đối tượng khi nó hết phạm vi tồn tại 19/20 b Hàm hủy (tiếp) Như vậy hàm hủy: Không có đối số Không...a Khai báo Ví dụ 3: Xây dựng cấu trúc dữ liệu mô tả các phân số: Dữ liệu: tử số, mẫu số Phương thức: nhập, tối giản, in  Lớp các phân số 11/20 b Khai báo đối tượng Cú pháp: ; Ví dụ: khai báo 2 đối tượng sinh viên SV sv1, sv2; Khi đó sv1, sv2 là hai đối tượng sinh viên 12/20 c Truy xuất thành phần Dữ liệu .; Ví dụ: truy xuất... tính điểm trung bình Hàm main: -Nhập danh sách sinh viên -Sắp xếp theo điểm trung bình giảm dần -In danh sách sau khi xếp 30 /20 Bài tập (week 3) • Sử dụng TC++ để lập trình: 6 Xây dựng lớp hóa đơn gồm các thành phần: -DL: mã vật tư, tên vật tư, loại phiếu, ngày lập, khối lượng, đơn giá, thành tiền -Pt: nhập, in, kiểm tra phiếu nhập hay xuất Hàm main: -Nhập danh sách hóa đơn -Tính thành tiền cho các hóa... các thành phần: -DL: phần thực, phần ảo 2 2 -Pt: nhập, in, tính pt  pa , nhân, chia 2 số phức Hàm main: -Nhập 2 số phức -Tính và in tổng, hiệu hai số phức -In mảng sau khi xếp 27/20 Bài tập (week 3) • Sử dụng TC++ để lập trình: 3 Xây dựng lớp vectơ gồm các thành phần: -DL: số phần tử, mảng các phần tử -Pt: nhập, in, tổng 2 vectơ, tích vô hướng Hàm main: -Nhập 2 vectơ -Tính và in tổng a+b 28/20 Bài. .. tập (week 3) • Sử dụng TC++ để lập trình: 4 Xây dựng lớp ma trận gồm các thành phần: -DL: số dòng, số cột, mảng các phần tử -Pt: nhập, in, kiểm tra ma trận có là đơn vị không Hàm main: -Nhập ma trận a -Thông báo có là ma trận đơn vị không -In ma trận 29/20 Bài tập (week 3) • Sử dụng TC++ để lập trình: 5 Xây dựng lớp sinh viên gồm các thành phần: -DL: họ tên, ngày sinh, giới tính, lớp (k 43/ 41.01),điểm... Hàm khởi tạo Khai báo: ([ds tham số]); Định nghĩa ngoài lớp: ::([ds tham số]) { //thân hàm } 16/20 a Hàm khởi tạo (tiếp) Như vậy hàm khởi tạo: Có với mọi lớp Tên hàm giống tên lớp Không có kiểu nên không cần khai báo Không có giá trị trả về Nếu không xây dựng thì chương trình tự động sinh hàm khởi tạo mặc định Được gọi tự động khi khai báo thể hiện của lớp 17/20 a Hàm ... 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 12/20 c Truy xuất thành phần Dữ liệu .

Ngày đăng: 03/12/2015, 16:15

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan