Tải bản đầy đủ (.pdf) (47 trang)

Bài giảng lập trình hướng đối tượng chương 1 đh lạc hồng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (17.74 MB, 47 trang )

LẬP TRÌNH HƯỚNG ĐỐI
TƯỢNG
(Object-Oriented Programming)

www.lhu.edu.vn

1


Thông tin về môn học
Thời lượng

• Số tiết lý thuyết: 45
• Số tiết thực hành: 45

Điều kiện

• Kỹ thuật lập trình cơ bản
• Cấu trúc dữ liệu

Mục tiêu

Cung cấp các kiến thức cơ bản về
• Ngôn ngữ C++
• Phân tích và thiết kế ứng dụng theo
phương pháp hướng đối tượng
www.lhu.edu.vn

2



Thông tin về môn học
Tài liệu tham khảo
Trần Văn Lăng, “Lập trình hướng đối tượng sử dụng C++”, Nxb
Thống kê, 2004.
2. Phạm Văn Ất, “C++ và Lập Trình Hướng Đối Tượng”, Khoa Học
Kỹ Thuật, 2000.
3. Vũ Thanh Hiền, “Lập trình Hướng Đối Tượng”, NXB ĐHQG ,
2000.
1.

www.lhu.edu.vn

3


Thông tin về môn học

Đánh giá
Gồm 3 cột điểm:
• Điểm chuyên cần (10%): điểm danh buổi học
• Điểm kiểm tra (30%): bài tập lớn hoặc thi giữa kỳ
• Điểm thi (60%): thi trắc nghiệm trên máy

www.lhu.edu.vn

4


Nội dung môn học
Chương 1: Giới thiệu lập trình hướng đối tượng


2

Chương 2: Ngôn ngữ lập trình C++

3

Chương 3: Lớp đối tượng

4

Chương 4: Nạp chồng toán tử và hàm

5

Chương 5: Tính kế thừa

5

Chương 6: Tính đa hình

5

Chương 7: Khuôn mẫu thiết kế
www.lhu.edu.vn

5


Nội dung

1

Các phương pháp lập trình

2

Lập trình hướng đối tượng

3

Các ngôn ngữ lập trình OOP

4

Bài tập lý thuyết

www.lhu.edu.vn

6


Chương 1 Phương pháp lập trình hướng đối
tượng

Các phương pháp lập trình

Lập trình không có cấu trúc (lập trình tuyến tính)
Lập trình hướng thủ tục
Lập trình hướng đối tượng


www.lhu.edu.vn

7


Bài tập ôn:
Viết chương trình nhập vào 3 cạnh của
một tam giác. Tính và tính và in ra chu
vi, diện tích của tam giác đó

www.lhu.edu.vn

8


Chương 1 Phương pháp lập trình hướng đối
tượng
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c,cv,dt;
cout<<“\nNhap canh a:";
cin>>a;
cout<<“\nNhap canh b:";
cin>>b;
cout<<“\nNhap canh c:";
cin>>c;
cv=a+b+c;

cout<<"\nChu vi hinh tam giac la:“<float p=(a+b+c)/2;
dt=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"\nDien tich hinh tam giac la:“<}
www.lhu.edu.vn

9


Chương 1 Phương pháp lập trình hướng đối
tượng

Lập trình tuyến tính

 Lập trình tuyến tính :
• Còn gọi là lập trình phi cấu trúc
• Giải quyết các bài toán tương nhỏ, đối đơn giản

 Đặc điểm:





Chỉ gồm một chương trình chính
Gồm một dãy tuần tự các câu lệnh
Các biến dùng trong chương trình là toàn cục
Chương trình ngắn, ít hơn 100 dòng
www.lhu.edu.vn


10


Chương 1 Phương pháp lập trình hướng
đối tượng
Lập trình tuyến tính

 Nhược điểm:





Không sử dụng lại được các đoạn mã
Không có khả năng kiểm soát phạm vi truy xuất dữ
liệu
Mọi dữ liệu trong chương trình là toàn cục
Dữ liệu có thể bị sửa đổi ở bất cứ vị trí nào trong
chương trình

 Không đáp ứng được việc triển khai
phần mềm
_______________________________
www.lhu.edu.vn

11


Chương 1 Phương pháp lập trình hướng

đối tượng
Lập trình hướng thủ tục

 Ra đời vào những năm 70
 Chương trình được chia nhỏ thành
chương trình con:



Thủ tục (Procedure)
Hàm (Function)

 Các chương trình con:



Độc lập với nhau và có dữ liệu riêng
Trao đổi qua: tham số và biến toàn cục
www.lhu.edu.vn

12


Chương 1 Phương pháp lập trình hướng đối tượng

Lập trình hướng thủ tục

Đặc điểm: Gom nhóm các câu lệnh thường
xuyên thực hiện trong chương trình chính lại
một chỗ và đặt tên đoạn câu lệnh đó thành một

thủ tục (Procedure) hay còn gọi là chương
trình con (Sub Routines)

www.lhu.edu.vn

13


Chương 1 Phương pháp lập trình hướng
đối tượng
Lập trình hướng thủ tục

Như vậy một chương trình hoàn chỉnh sẽ:
Bao gồm nhiều chương trình con, mang tính cấu
trúc cao và ít lỗi hơn
Các biến có thể được xử lý cục bộ trong các
chương trình con mà không ảnh hưởng lẫn
nhau
Tiếp cận theo hướng từ trên xuống (Top-Down)
www.lhu.edu.vn

14



Chương 1 Phương pháp lập trình hướng đối
tượng
#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{
float a,b,c,cv,dt;
clrscr();
cout<<"\nNhap canh a:";
Thủ tục nhập cạnh
cin>>a;
cout<<"\nNhap canh b:";
cin>>b;
cout<<"\nNhap canh c:";
cin>>c;
cv=a+b+c;
Thủ tục tính chu vi
cout<<"\nChu vi hinh tam giac la:“<float p=(a+b+c)/2;
dt=sqrt(p*(p-a)*(p-b)*(p-c));
Thủ tục tính diện tích
cout<<"\nDien tich hinh tam giac la:“<getch();
}
www.lhu.edu.vn
16


Chương 1 Phương pháp lập trình hướng đối
tượng

void nhapcanh(float&canh)
{
printf("\nNhap canh a:");

scanf("%f",&canh);
}

float tinhchuvi(float a,float b,float c)
{
return a+b+c;
}
float tinhdientich(float a,float b,float c)
{
float p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));

void main()
{
}
float a,b,c,cv,dt;
clrscr();
nhapcanh(a);
nhapcanh(b);
nhapcanh(c);
printf("\nChu vi hinh tam giac la:%.2f",tinhchuvi(a,b,c) );
printf("\nDien tich hinh tam giac la:%.2f",tinhdientich(a,b,c) );
getch();
www.lhu.edu.vn
}

17


Chương 1 Phương pháp lập trình hướng

đối tượng
Lập trình hướng thủ tục

Ưu điểm:
 Chương trình có tính cấu trúc cao
 Dễ cài đặt và ít lỗi hơn
 Có thể sử dụng các thủ tục dùng chung

www.lhu.edu.vn

18


Chương 1 lập trình hướng đối tượng

Lập trình hướng thủ tục

 Khuyết điểm
 Với các chương trình lớn số lượng thủ tục
nhiều dẫn đến khó bảo trì và sửa lỗi

www.lhu.edu.vn

19


Chương 1 Phương pháp lập trình hướng
đối tượng
Lập trình hướng đối tượng


Lập trình hướng đối tượng (OOPObject-Oriented Programming)
 Là một cách tư duy mới, tiếp cận hướng
đối tượng để giải quyết vấn đề bằng máy
tính.
 Là một phương pháp thiết kế và phát triển
phần mềm dựa trên kiến trúc lớp và đối
tượng.
www.lhu.edu.vn

20


Chương 1 Phương pháp lập trình hướng
đối tượng
Lập trình hướng đối tượng

 Cấu trúc chương trình
được xây dựng trên nền
tảng các đối tượng.
 Trong chương trình
các đối tượng giao tiếp
với nhau bằng cách
chuyển thông điệp (gọi
hàm)
www.lhu.edu.vn

21


Chương 1 lập trình hướng đối tượng


Ưu điểm của lập trình hướng đối tượng

Dữ liệu được xem như một phần tử chính yếu
và được bảo vệ
Hàm, thủ tục gắn kết với dữ liệu, thao tác
trên dữ liệu

22


Chương 1 lập trình hướng đối tượng

Ưu điểm của lập trình hướng đối tượng

 Phân tách bài toán thành nhiều thực thể
(đối tượng): xây dựng dữ liệu + hàm cho các
đối tượng này.
 Tăng cường khả năng sử dụng lại mã nguồn

23


Chương 1 lập trình hướng đối tượng

Lập trình hướng đối tượng

Nhấn mạnh trên dữ liệu hơn là thủ tục
Chương trình bao gồm các đối tượng
Dữ liệu được che giấu và không thể được truy

xuất từ các hàm bên ngoài

www.lhu.edu.vn

24


Chương 1 lập trình hướng đối tượng

Lập trình hướng đối tượng

Các đối tượng có thể giao tiếp với nhau thông
qua các hàm
Dữ liệu hay các hàm mới có thể được thêm vào
khi cần

www.lhu.edu.vn

25


×