Tài liệu Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng: Hà Văn SangBộ môn: Tin học TC – KTKhoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài ChínhTel: 0982.165.568Email: sanghv@hvtc.edu.vnWebsite: ập trình hướng đối tượng *1CHƯƠNG IIILớp và Đối tượng*24. Mảng và con trỏ của đối tượngKhai báo [spt];Ví dụ: SV sinhvien[50]; PS a[8]; *;Ví dụ: SV *p = sinhvien;Date35. Hàm bạn và lớp bạnKhá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ượngCú pháp:friend (tham số);Sau đó định nghĩa hàm ở ngoài lớp như các hàm tự do khácDate45. Hàm bạn và 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ả về bộ nhớ đệmPhải thay đổi để phù hợpGiá trị có thể thay đổiDate55. Hàm bạn và lớp bạn (tiếp)Nhận xétHàm bạn không phải là hàm thành viên nên không bị ảnh hưởng của từ khoá truy xuất Không hạn chế số lượng hàm bạn Hàm bạn của một lớp có thể là hàm tự do Hàm bạn của một lớp có thể là hàm thành phần của một...
19 trang |
Chia sẻ: tranhong10 | Lượt xem: 1063 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Hà Văn SangBộ môn: Tin học TC – KTKhoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài ChínhTel: 0982.165.568Email: sanghv@hvtc.edu.vnWebsite: ập trình hướng đối tượng *1CHƯƠNG IIILớp và Đối tượng*24. Mảng và con trỏ của đối tượngKhai báo [spt];Ví dụ: SV sinhvien[50]; PS a[8]; *;Ví dụ: SV *p = sinhvien;Date35. Hàm bạn và lớp bạnKhá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ượngCú pháp:friend (tham số);Sau đó định nghĩa hàm ở ngoài lớp như các hàm tự do khácDate45. Hàm bạn và 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ả về bộ nhớ đệmPhải thay đổi để phù hợpGiá trị có thể thay đổiDate55. Hàm bạn và lớp bạn (tiếp)Nhận xétHàm bạn không phải là hàm thành viên nên không bị ảnh hưởng của từ khoá truy xuất Không hạn chế số lượng hàm bạn Hàm bạn của một lớp có thể là hàm tự do Hàm bạn của một lớp có thể là hàm thành phần của một lớp khácDate65. Hàm bạn và lớp bạn (tiếp)Khái niệm lớp bạn:Lớp A là lớp bạn của lớp B nếu trong B có chứa khai báo:friend class A;Vậy:Nếu A là lớp bạn của B thì mọi hàm thành phần của A sẽ trở thành hàm bạn của BDate76. Thành phần tĩnha. Dữ liệu tĩnhKhái niệm:Là thành phần dữ liệu của lớp nhưng không gắn cụ thể với đối tượng nàoDùng chung cho toàn bộ lớpCác đối tượng của lớp đều dùng chung thành phần tĩnh nàyDate86. Thành phần tĩnha. Dữ liệu tĩnhKhai 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++;}};Date96. Thành phần tĩnha. Dữ liệu tĩnhTruy xuất:Theo đối tượng (cách thông thường)Ví dụ:PS a;a.count=0;Theo lớpVí dụ:PS::count=0;Date106. Thành phần tĩnha. Dữ liệu tĩnhChú ý: Tồn tại ngay khi chưa có đối tượng nàoPhải được khởi tạo trước khi đối tượng phát sinh Phải khởi tạo ngoài mọi hàm theo cú pháp: :: = ;Ví dụ: int PS::count=0;Date11Ví dụ:Xây dựng lớp Hóa đơn có một thành phần dữ liệu tĩnh để kiểm soát số đối tượng HĐ được cấp phát. Date126. Thành phần tĩnhb. Phương thức tĩnhKhái niệm: là hàm thành phần của lớp nhưng không gắn với đối tượng cụ thể nàoDùng để thao tác chung cho lớpTrong thân hàm không có đối tượng ẩnstatic (tham số);Ví dụ: xây dựng lớp SV gồm pt nhập, in 1 sinh viên. Nhập, in danh sách sinh viên.Date137. Thành phần hằnga. Dữ liệu hằngKhái niệm: là thành phần dữ liệu của lớp nhưng không thay đổi giá trị trong quá trình tồn tạiVí dụ: Với lớp nhân sự thì số CMT là tp hằng Khai báo:const ;Thành phần hằng không thể thay đối sau khi đối tượng được hình thànhDate147. Thành phần hằnga. Dữ liệu hằngXác định giá trị: ở hàm khởi tạoVí 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}Date157. Thành phần hằngb. Phương thức hằngKhái niệm: là hàm thành phần của lớp nhưng không có khả năng thay đổi thành phần dl trong đối tượngVí dụ: Với lớp PS thì phương thức in() là hằngKhai báo: (tham số) const ;Định nghĩa: ::(tham số) const { //thân hàm }Date168. Thành phần đối tượngKhái niệm: là thành phần dữ liệu của lớp có kiểu là một lớp khácKhai báo: Ví dụ: thành phần ns của lớp SV là đối tượng lớp dateDate17Bài tập (week 5)Xây dựng các toán tử nhập >>, xuất , =, <= của các bài tập trong tuần 4Date18Qui cách nộp bàiGửi tới địa chỉ: sanghv@gmail.comCC: sanghv@hvtc.edu.vnTiêu đề: [Lớp][BT3][Stt][Họ và tên]Ví dụ:[K43/41.01][BT3][14][Lê hoàng Vũ]Hạn nộp: 23h59’ ngày 29/01/2008Date19
Các file đính kèm theo tài liệu này:
- Chapter 3 (cont).ppt