Dư ̃liêụ được găń chăṭ vơí cać ham̀ thaǹ h cać vuǹ g riêng ma ̀ chỉ co ́ cać ham̀ đo ́ tać đôṇ g lên va ̀ câḿ các ham̀ bên ngoaì truy nhâp̣ tơí môṭ cać h tuỳ tiêṇ
Lập trình hướng đối tượng Lập trình hướng đối tượng Hà Văn Sang Hà Văn Sang Bộ môn: Tin học TC – KT Khoa HTTT, Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568Academy Of Finance, Hanoi Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv 8/29/2011 9:43 PM Lập trình hướng đối tượng CHƯƠNG VI Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi 8/29/2011 9:43 PM Khuôn hình hàm Định nghĩa Ví dụ 1: xây dựng hàm tìm max hai số thực -Xây dựng hàm tính max ba số thực -Xây dựng hàm tính max n số thực Giải quyết: •Nạp chồng hàm max Vấn đề giải quyết, phải viết n hàm Object Oriented Programing– Information Systems Department Khn hình hàm Ví dụ 2: xây dựng hàm tìm max hai số Giải quyết: int max(int a, int b){ if(a>b) return a; elsse return b;} float max(float a, float b){ if(a>b) return a; elsse return b;} Object Oriented Programing– Information Systems Department Khn hình hàm Khái niệm Là mẫu hàm có tham số kiểu đối số Với giá trị hợp lệ đối số phát sinh hàm cụ thể gọi hàm thể Khai báo: template ([ds tham số]) { //thân khn hình hàm } Object Oriented Programing– Information Systems Department Khn hình hàm Ví dụ1 : template T max(T a, T b){ if(a>b) return a ; else return b;} Ví dụ 2: xây dựng khn hình tính tổng số template T1 tong(T1 x, T2 y, T3 z) { return x+y+z ; } Object Oriented Programing– Information Systems Department Khn hình hàm Gọi hàm từ khn hình hàm (đối số) Tên hàm trùng tên khn hình hàm Ví dụ: int a,b ; float x,y ; max(a,b) ; Object Oriented Programing– Information Systems Department Khn hình hàm Với khn hình hàm max: int a,b; max(a,b) Khi chương trình dịch xác định: -Kiểu a,b int nên kiểu T int -Phát sinh hàm cụ thể từ khn hình hàm max -Hàm max lúc sau: int max(int a, int b) { if(a>b) return a ; else return b; } Object Oriented Programing– Information Systems Department Khn hình lớp Ví dụ: xây dựng lớp MT1 với: •Số phần tử •Mảng phần tử kiểu: int, char, float, long •Các phương thức: nhập, in, cộng, trừ Nhận xét: -Với kiểu liệu mảng có lớp -Các lớp có chung thao tác -Chỉ kiểu liệu mảng khác C++ cho phép xây dựng mẫu lớp, mẫu có tham số để ứng với giá trị tham số phát sinh lớp Object Oriented Programing– Information Systems Department Khn hình lớp Khái niệm •Là mẫu lớp có tham số kiểu liệu (tham số kiểu) •Với giá trị tham số kiểu phát sinh thể lớp cụ thể (lớp khn hình) Khai báo: template class { }; Object Oriented Programing– Information Systems Department 10 Khn hình lớp Ví dụ: template class MT1{ int spt; T d[10]; public: void nhap(); void in(); …} Object Oriented Programing– Information Systems Department 11 Khn hình lớp Định nghĩa phương thức -Định nghĩa bên khai báo khn hàm thơng thừơng - Định nghĩa bên ngồi khai báo Ví dụ: template void MT::nhap() { … } Object Oriented Programing– Information Systems Department 12 Khuôn hình lớp Sử dụng khn hình lớp - Mỗi giá trị tham số kiểu, chương trình dịch phát sinh lớp cụ thể Cú pháp: Khai báo đối tựơng: Ví dụ: MT a; MT b; MT c; Object Oriented Programing– Information Systems Department 13 .. .Lập trình hướng đối tượng CHƯƠNG VI Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi 8/29/2011 9:43 PM Khn hình hàm Định nghĩa Ví dụ 1: xây dựng hàm tìm max hai số thực -Xây dựng hàm... với: •Số phần tử •Mảng phần tử kiểu: int, char, float, long •Các phương thức: nhập, in, cộng, trừ Nhận xét: -Với kiểu liệu mảng có lớp -Các lớp có chung thao tác -Chỉ kiểu liệu mảng khác C++. .. hàm Với khn hình hàm max: int a,b; max(a,b) Khi chương trình dịch xác định: -Kiểu a,b int nên kiểu T int -Phát sinh hàm cụ thể từ khn hình hàm max -Hàm max lúc sau: int max(int a, int b) { if(a>b)