YOMEDIA
Bài giảng Lập trình hướng đối tượng: Chương 6 - Hà Văn Sang
Chia sẻ: Nguyễn Thị Ngọc Lựu
| Ngày:
| Loại File: PPT
| Số trang:13
62
lượt xem
5
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Lập trình hướng đối tượng cung cấp cho sinh viên những kiến thức cơ bản nhất, có tính hệ thống liên quan tới lập trình. Thông qua cuốn tài liệu này, chúng tôi muốn giới thiệu với các bạn đọc về kỹ năng lập trình cơ bản.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 6 - Hà Văn Sang
- 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.568 Academy Of Finance, Hanoi
Email: sanghv@hvtc.edu.vn
Website: http://www.hvtc.edu.vn/sanghv
03/27/14 02:13
- Lập trình hướng đối tượng
CHƯƠNG VI
Hà Văn Sang
Khoa HTTT,
Academy Of Finance, Hanoi
03/27/14 02:13
- 1. Khuôn hình hàm
Định nghĩa
Ví dụ 1: xây dựng hàm tìm max của hai số thực
Xây dựng hàm tính max của ba số thực
Xây dựng hàm tính max của n số thực
Giải quyết:
•Nạp chồng hàm max
Vấn đề được giải quyết, nhưng phải viết n hàm
Object Oriented Programing– Information Systems Department 3
- 1. Khuôn hình hàm
Ví dụ 2: xây dựng hàm tìm max của hai số bất kỳ
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 4
- 1. Khuôn hình hàm
Khái niệm
Là mẫu của hàm có tham số là kiểu của đối số
Với mỗi giá trị hợp lệ của đối số sẽ phát sinh một
hàm cụ thể gọi là hàm thể hiện
Khai báo:
template ([ds tham số])
{
//thân khuôn hình hàm
}
Object Oriented Programing– Information Systems Department 5
- 1. Khuôn 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 khuôn hình tính tổng 3 số bất kỳ
template T1 tong(T1 x, T2 y, T3 z)
{
return x+y+z ;
}
Object Oriented Programing– Information Systems Department 6
- 1. Khuôn hình hàm
Gọi hàm từ khuôn hình hàm
(đối số)
Tên hàm trùng tên khuôn hình hàm
Ví dụ:
int a,b ;
float x,y ;
max(a,b) ;
Object Oriented Programing– Information Systems Department 7
- 1. Khuôn hình hàm
Với khuôn hình hàm max:
int a,b;
max(a,b)
Khi đó chương trình dịch sẽ xác định:
Kiểu của a,b là int nên kiểu của T cũng sẽ là int
Phát sinh một hàm cụ thể từ khuôn hình hàm max
Hàm max lúc này sẽ như sau:
int max(int a, int b)
{
if(a>b) return a ;
else return b;
}
Object Oriented Programing– Information Systems Department 8
- 2. Khuôn hình lớp
Ví dụ: xây dựng lớp MT1 với:
•Số phần tử
•Mảng các 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 mỗi kiểu dữ liệu của mảng sẽ có 1 lớp
-Các lớp này có chung các thao tác
-Chỉ kiểu dữ liệu của mảng là khác
C++ cho phép xây dựng một mẫu của lớp, mẫu này có tham số để
ứng với mỗi giá trị của tham số sẽ phát sinh một lớp
Object Oriented Programing– Information Systems Department 9
- 2. Khuôn hình lớp
Khái niệm
•Là một mẫu của lớp có các tham số là các kiểu dữ liệu (tham số
kiểu)
•Với mỗi giá trị của tham số kiểu sẽ phát sinh ra một thể hiện là một
lớp cụ thể (lớp khuôn hình)
Khai báo:
template class
{
};
Object Oriented Programing– Information Systems Department 10
- 2. Khuôn 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
- 2. Khuôn hình lớp
Định nghĩa phương thức
Định nghĩa bên trong khai báo của khuôn hình như hàm
thông thừơng
Định nghĩa bên ngoài khai báo
Ví dụ:
template void MT::nhap()
{
…
}
Object Oriented Programing– Information Systems Department 12
- 2. Khuôn hình lớp
Sử dụng khuôn hình lớp
Mỗi giá trị của tham số kiểu, chương trình dịch sẽ phát
sinh ra một 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
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...