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

Bài giảng lập trình hướng đối tượng chương 1 GV dương khai phong

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 (8.43 MB, 86 trang )

ĐH CÔNG NGHỆ THÔNG TIN

/>
Số tiết lý thuyết: 45 tiết
Số tiết thực hành: 30 tiết
GVHD: Dương Khai Phong – Email
1


/>
 Nội dung môn học:
 Chương

1: Tổng quan về OOP
 Chương 2: Lớp & đối tượng
 Chương 3: Hàm và hàm đa năng trong OOP
 Chương 4: Đa năng hóa tốn tử
 Chương 5: Sự kế thừa và tính đa hình

2


/>
 Nội dung môn học:
 Chương

1: Tổng quan về OOP
 Chương 2: Lớp & đối tượng
 Chương 3: Hàm và hàm đa năng trong OOP
 Chương 4: Đa năng hóa tốn tử
 Chương 5: Sự kế thừa và tính đa hình



3


/>
 Chương 1: Tổng quan về OOP
 Giới

thiệu và ôn tập LT có cấu trúc/thủ tục
 Lập trình hướng đối tượng (OOP)
 Đối tượng và lớp trong OOP
 Một số khái niệm khác trong OOP

4


/>
 Chương 1: Tổng quan về OOP
 Giới

thiệu và ôn tập LT có cấu trúc/thủ tục
 Lập trình hướng đối tượng (OOP)
 Đối tượng và lớp trong OOP
 Một số khái niệm khác trong OOP

5


 Chương 1: Tổng quan về OOP


 Lập

/>
trình có cấu trúc/thủ tục

 Tổ chức chương trình thành các chương trình
con (hàm).
 Mỗi chương trình con đảm nhận xử lý một cơng
việc nhỏ trong tồn bộ hệ thống.
 Mỗi chương trình con này lại có thể chia nhỏ
thành các chương trình con nhỏ hơn.
Chương trình = Cấu trúc dữ liệu + Giải thuật

6


 Chương 1: Tổng quan về OOP

 Lập

/>
trình có cấu trúc/thủ tục

 Các ngôn ngữ hỗ trợ : Pascal, C, ...
 Sử dụng các lệnh có cấu trúc: for, do, while, if
then else...
 Chương trình là tập các hàm/thủ tục.
Ví dụ: viết chương trình xuất bảng cửu chương
include “stdio.h” // Khai báo thư viện
void main(){

for (int i=2;i<10;i++)
{
for (int j=1;j<10;j++)
printf ("%d*%d=%d",i,j,i*j);
printf ("\n");
}
}
7


 Chương 1: Tổng quan về OOP

 Lập

/>
trình có cấu trúc/thủ tục

 Ưu điểm:
 Chương trình cục bộ hóa, dễ hiểu, dễ bảo trì hơn.
 Dễ dàng tạo ra các thư viện phần mềm.
 Nhược điểm:
 Dữ liệu và mã xử lý là tách rời.
 Người lập trình phải biết cấu trúc dữ liệu (vấn đề này một
thời gian dài được coi là hiển nhiên).
 Khi thay đổi cấu trúc dữ liệu thì mã xử lý (thuật tốn) phải
thay đổi theo.
 Khó đảm bảo tính đúng đắn của dữ liệu.
 Khơng tự động khởi tạo hay giải phóng dữ liệu động.
 Không mô tả đầy đủ, trung thực hệ thống trong thực tế.
8



 Chương 2: Lớp và đối tượng trong OOP

 Các










/>
lưu ý quan trọng trong lập trình

Cấu trúc chương trình C
Các kiểu dữ liệu cơ bản
Nhập /xuất
Các cấu trúc điều khiển
Hàm
Các kiểu dữ liệu tập hợp:
mảng, cấu trúc, con trỏ
Lưu trữ: tập tin…
…. // Định nghĩa hàm tính giai thừa
int tinhGT(int n){
int kq=1;
for (int i=1;i<=n;i++)

kq=kq*i;
return kq;
}

 Cấu trúc chương trình C:
Thơng thường một chương trình C
được bố trí thành 5 phần:
1. Khai báo thư viện
2. Khai báo hằng, biến, cấu trúc
TOÀN CỤC
3. Khai báo hàm
4. Chương trình chính
5. Định nghĩa các hàm đã khai báo
 Ví dụ: viết chương trình tính n!
#incldue “stdio.h“
#incldue “conio.h“
int tinhGT(int n){
void main(){
int n,kq;
printf("Nhap n:"); scanf("%d",&n)
kq=tinhGT(n);
printf("Giai thua %d = %d",n,kq);
}
9


 Chương 2: Lớp và đối tượng trong OOP

 Các











/>
lưu ý quan trọng trong lập trình

Cấu trúc chương trình C
Các kiểu dữ liệu cơ bản
Nhập /xuất
Các cấu trúc điều khiển
Hàm
Các kiểu dữ liệu tập hợp:
mảng, cấu trúc, con trỏ
Lưu trữ: tập tin…
….

 Các kiểu dữ liệu cơ bản:
SỐ

KÝ TỰ
char: %c

NGUYÊN
int: %d

long: %ld

THỰC

CHUỖI

float: %f
double: %lf

string: %s
(nếu ngơn
ngữ lập trình
có hỗ trợ)

 Nhập / Xuất:
 printf / scanf
 gets / puts
 getch / putch

10


 Chương 2: Lớp và đối tượng trong OOP

 Các











/>
lưu ý quan trọng trong lập trình

Cấu trúc chương trình C
Các kiểu dữ liệu cơ bản
Nhập /xuất
Các cấu trúc điều khiển
Hàm
Các kiểu dữ liệu tập hợp:
mảng, cấu trúc, con trỏ
Lưu trữ: tập tin…
….

 Các cấu trúc điều khiển:
LẶP

ĐIỀU
KIỆN
ĐIỀU
KIỆN
IF
IF..ELSE

RẼ
NHÁNH


FOR
WHILE
DO..WHILE

SWITCH..CASE

 Hàm:
<Kiểu_data> Tên_Hàm(DS_Tham số)
{
// Định nghĩa hàm
return <giá_trị_trả_về>
}

 Lưu ý: có 2 loại tham số là tham số
đầu vào (tham trị) và tham số đầu ra
(tham biến)
11


 Chương 2: Lớp và đối tượng trong OOP

 Các











/>
lưu ý quan trọng trong lập trình

Cấu trúc chương trình C
Các kiểu dữ liệu cơ bản
Nhập /xuất
Các cấu trúc điều khiển
Hàm
Các kiểu dữ liệu tập hợp:
mảng, cấu trúc, con trỏ
Lưu trữ: tập tin…
….

 Mảng:
 Khái niệm
 Khai báo
 Sử dụng
 Các bài tốn liên quan: tìm kiếm,
sắp xếp,…
 Cấu trúc:
 Khái niệm
 Khai báo
 Sử dụng
 Các bài toán liên quan
 Con trỏ:
 Khái niệm
 Khai báo

 Sử dụng
 Mối quan hệ: mảng, cỏn trỏ và cấu
trúc.
12


ĐH CÔNG NGHỆ THÔNG TIN

/>
13


ĐH CÔNG NGHỆ THÔNG TIN

/>
14


/>
 Bài tập chương 1 – Phần lập trình có cấu trúc/thủ tục:

1. Viết chương trình nhập dài (height), rộng
(width). Tính chu vi P và diện tích S của hình
chữ nhật.
2. Viết chương trình nhập 3 cạnh tam giác a,b,c.
Tính P và S của tam giác.
S=𝑝∗

𝑝 − 𝑎 ∗ 𝑝 − 𝑏 ∗ (𝑝 − 𝑐)


3. Viết chương trình kiểm tra một số ngun nhập
từ bàn phím có phải là số ngun tố hay khơng?
4. Viết chương trình kiểm tra ngày tháng năm có
hợp lệ hay khơng?
5. Viết chương trình cộng, trừ hai phân số.
Buổi 1

15


/>
 Chương 1: Tổng quan về OOP
 Giới

thiệu và ôn tập LT có cấu trúc/thủ tục
 Lập trình hướng đối tượng (OOP)
 Đối tượng và lớp trong OOP
 Một số khái niệm khác trong OOP

16


 Chương 1: Tổng quan về OOP

 Lập

/>
trình hướng đối tượng (OOP)

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

Oriented Programming - LTHĐT) là phương
pháp lập trình lấy đối tượng làm nền tảng để
xây dựng thuật giải, xây dựng chương trình

Đối tượng là gi?

17


/>
 Chương 1: Tổng quan về OOP
 Giới

thiệu và ôn tập LT có cấu trúc/thủ tục
 Lập trình hướng đối tượng (OOP)
 Đối tượng và lớp trong OOP
 Một số khái niệm khác trong OOP

18


 Chương 1: Tổng quan về OOP

 Đối

/>
tượng và lớp trong OOP

• Đối tượng (object):
– Khái niệm đối tượng trong thế giới thực được hiểu như là

một thực thể: người, vật hoặc một bảng dữ liệu…
– Đối tượng phục vụ hai mục đích: giúp hiểu rõ thế giới
thực và cung cấp cơ sở cho việc cài đặt trên máy tính.
– Mỗi đối tượng có một nét nhận dạng, thuộc tính để phân
biệt với các đối tượng khác
– Ví dụ:
- Đối tượng Sinh viên , Nhân viên
- Đối tượng thời gian

19


 Chương 1: Tổng quan về OOP

 Đối

/>
tượng và lớp trong OOP

• Lớp: (class)
– Các đối tượng có các đặc tính tương tự nhau được gom
chung lại thành lớp đối tượng. Ví dụ Người là một lớp đối
tượng. Một lớp đối tượng được đặc trưng bằng các thuộc
tính và các hoạt động (hành vi,thao tác).
– Một thuộc tính (attribute): là một giá trị dữ liệu cho mỗi
đối tượng trong lớp. (Ví dụ:Tên, Tuổi, Cân nặng là các
thuộc tính của Người)
– Một thao tác (operation): là một hàm hay một phép biến
đổi có thể áp dụng vào hay áp dụng bởi các đối tượng
trong lớp.


20


/>
 Chương 1: Tổng quan về OOP
 Giới

thiệu và ôn tập LT có cấu trúc/thủ tục
 Lập trình hướng đối tượng (OOP)
 Đối tượng và lớp trong OOP
 Một số khái niệm khác trong OOP

21


 Chương 1: Tổng quan về OOP

 Một

/>
số khái niệm khác trong OOP

Phương thức (method)
 Thể hiện (instance)
 Sơ đồ đối tượng
 Tính đa hình (polymorphism)
 Tính thừa kế (inheritance)
 Tính đóng gói (encapsulation)




22


 Chương 1: Tổng quan về OOP

 Một

số khái niệm khác trong OOP

Phương thức (method)
 Thể hiện (instance)
 Sơ đồ đối tượng
 Tính đa hình (polymorphism)
 Tính thừa kế (inheritance)
 Tính đóng gói (encapsulation)



/>
 Phương thức (method)
Mỗi thao tác trên một lớp
đối tượng cụ thể tương ứng
với một cài đặt cụ thể khác
nhau. Một cài đặt như vậy
được gọi là một phương
thức (method).

23



 Chương 1: Tổng quan về OOP

 Một

số khái niệm khác trong OOP

Phương thức (method)
 Thể hiện (instance)
 Sơ đồ đối tượng
 Tính đa hình (polymorphism)
 Tính thừa kế (inheritance)
 Tính đóng gói (encapsulation)



/>
 Thể hiện (instance)
Một đối tượng cụ thể thuộc
một lớp được gọi là một
thể hiện (instance) của lớp
đó.
Ví dụ: Joe Smith, 25 tuổi,
nặng 58kg.. là một thể hiện
của lớp người.

24



 Chương 1: Tổng quan về OOP

 Một

/>
số khái niệm khác trong OOP

Phương thức (method)
 Thể hiện (instance)
 Sơ đồ đối tượng
 Tính đa hình (polymorphism)
 Tính thừa kế (inheritance)
 Tính đóng gói (encapsulation)



25


×