Đ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