Tải bản đầy đủ (.ppt) (25 trang)

Lập trình java chương 0 nhập môn lập trình hướng đối tượ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 (538.08 KB, 25 trang )

LẬP TRÌNH JAVA

Ch ương 0
NHẬP MÔN
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
(OOP – Object Oriented Programming)

Ths. Nguy ễn Th ị Thùy

Ch ư
ơ ng 01- Nh ập môn OOP

Slide 1/


Mục tiêu
 Nhận bi ết s ự khác bi ệt gi ữa l ập trình
hướng th ủ t ục v à l ập trình h ướng đối
t ượng
 Phân tích, thi ết k ế v à hi ện th ực được
m ột ch ương trình theo ph ương pháp
hướng đối t ượng
 Nhận di ện m ột s ố ngôn ng ữ OOP
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 2/


Nội dung chi tiết



 T ừ l ập trình c ấu trúc đến l ập trình
hướng đối t ượng
 Phương pháp l ập trình h ướng đối
t ượng
 Ưu đi ểm c ủa l ập trình h ướng đối
t ượng
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 3/


0.1- Lập trình thủ tục
(POP- Procedure Oriented Programming)
 Data structure + A lgorithm = Program
Program

 K ỹ thu ật POP:
pick
nouns

Data
structure

pick
verbs

Operation

(function)

type Fun (XX x)
{.....
};

Problem

Ths. Nguy ễn Th ị Thùy

struct XX
{.....
};

void main()
{ X x;
Fun(x);
};

Ch ương 01- Nh ập môn OOP

Slide 4/


0.2- Nhược điểm của POP
 Di ễn đạt “thi ếu t ự nhiên”
Có h ọc sinh x
“V i ết lý l ịch h ọc sinh x”
“x ơi, v i ết lý l ịch đi em”


VietLyLich(x);
x.VietLyLich();

Diễn đạt nào tự nhiên hơn?

“x ơi, viết lý lịch đi em”
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 5/


0.2- Nhược điểm của POP
 K hó mô t ả nh ững quan h ệ ph ức t ạp c ủa th ế
gi ới t ự nhiên
Hiện thực
 V í d ụ: Tự nhiên
struct PERSON
{....
};

Person

is a

Male

is a


Female

struct MALE
{ PERSON Data
<dữ liệu thêm>
};
struct FEMALE
{ PERSON Data
<dữ liệu thêm>
};

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Diễn đạt
phải
tường minh
 không
tự nhiên

Slide 6/


0.2- Nhược điểm của POP
 B ảo m ật kém do không th ể gi ới h ạn truy
xuất đến m ột d ữ li ệu
struct STUDENT
{ char Name[21];
int Age;

int Score;
};

Ths. Nguy ễn Th ị Thùy

void main()
{STUDENT x = { “Hoa”, 19, 5};
x.Age=1000;
Bạn nghĩ sao về
x.Score=-20;
2 tác vụ này?
};

Ch ương 01- Nh ập môn OOP

Slide 7/


0.3- Lập trình hướng đối tượng
(OOP – Object Oriented Programming)
 Chương trình là s ự ho ạt động c ủa các đối
t ượng  Gi ống t ự nhiên
 Đối t ượng th ực thi m ột ho ạt động t ức là đối
t ượng th ực hi ện m ột hành v i mà đối t ượng
này có kh ả n ăng
 M ột ch ương trình là m ột tr ật t ự các l ời y êu
c ầu đối t ượng th ực hi ện hành v i c ủa mình
 Chương trình là m ột kích b ản (script)
Ths. Nguy ễn Th ị Thùy


Ch ương 01- Nh ập môn OOP

Slide 8/


0.4- Ưu điểm của OOP
 D ễ mô t ả các quan h ệ phân c ấp trong th ế gi ới t ự
nhiên
Tự nhiên

class PERSON
{....
};

Person

is a

Male

Hiện thực

is a

class MALE: PERSON
{<dữ liệu thêm>
};

tự
nhiên


Female
class FEMALE: PERSON
{ <dữ liệu thêm>
};

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 9/


0.4- Ưu điểm của OOP
 Có tính b ảo m ật cao: Bên ngoài không th ể tùy ti ện
truy c ập m ột d ữ li ệu thu ộc tính

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 10/


0.4- Ưu điểm của OOP
 D ễ tái s ử d ụng code

Tái sử dụng code

Tái sử dụng code

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 11/


0.5- Sơ lược về OOP
 Đối t ượng (object): Đóng gói d ữ li ệu +
hành v i
 Đối t ượng ph ải thu ộc m ột l ớp (class)
 X ây d ựng m ột đối t ượng là xây d ựng m ột
l ớp

 Class = data (bi ến, thu ộc tính) + methods
(code)

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 12/


0.5- Sơ lược về OOP
 3 khái ni ệm c ơ b ản c ủa OOP
Đóng gói d ữ li ệu + hành v i
Tính thừa k ế: M ột l ớp có thể th ừa k ế t ừ l ớp
khác.
Tính đa hình: K ỹ thuật cho phép có khác bi ệt

gi ữa code c ủa cùng m ột hành v i trong l ớp cha
v à trong l ớp con.
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 13/


0.6- Ngôn ngữ OOP
 C++ ( Borland C++, V isual C++)
 Jav a
 C# ( C sharp)
 V isual Basic.
 .....

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 14/


0.6- Ngôn ngữ OOP
• C++, MS V C++:
 Hỗ trợ c ả POP l ẫn OOP
 Hỗ trợ đa th ừa k ế
 Đối t ượng là bi ến c ủa ch ương trình
 Hàm main() là POP
• Jav a (Sun), C# (Microsoft):

 Chỉ h ỗ tr ợ OOP
 Hàm main ph ải n ằm trong m ột l ớp
 Chỉ h ỗ tr ợ đơn th ừa k ế
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 15/


0.7- Phương pháp giải bài toán theo OOP
Program

pick
nouns

Problem

Đóng gói dữ liệu và
hành vi thành class

pick
verbs

Ths. Nguy ễn Th ị Thùy

properties

Operation
(function,

method,
behavior)

class X
{ type1 prop1;
type2 prop2;
.......
type Method1(...)
{
}
.....
};
void main()
{ X x; // object variable
x.Method1(...);
};

Ch ương 01- Nh ập môn OOP

Slide 16/


Giải bài toán hướng POP với C, C++
 V i ết chương trình nhập , xuất 1 học sinh.
Thông tin c ần quan tâm v ề 1 h ọc sinh: Mã
học sinh (8 ký t ự), tên h ọc sinh (30 ký t ự),
đi ểm (int).
 Danh t ừ: H ọc sinh  c ấu trúc HS
 Động t ừ:
B ắt đầu;

Nhập m ột hs  Hàm Nhap(HS&hs)
X uất m ột hs  Hàm X uat(HS hs);
Ng ưng.
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 17/


Giải bài toán hướng POP với C, C++

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 18/


Giải bài toán hướng OOP

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 19/


Đối chứng hai cách hiện thực


Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 20/


Bài tập

 Dùng OOP v ới C++ viết chương trình:
Nhập vào 3 học sinh, thông tin v ề m ột học
sinh: Mã, tên, điểm 3 môn học.
X uất thông tin chi tiết v ề 3 học sinh này gồm:
Mã, tên, điểm trung bình.

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 21/


Tóm tắt
• POP: Xem dữ liệu và tác vụ rời nhau.
• Các nhược điểm của POP
– Mô tả các quan hệ giữa các đối tượng dữ liệu
trong tự nhiên theo cách “không tự nhiên”.
– Khó tái sử dụng code.
– Bảo mật kém.


Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 22/


Tóm tắt
• OOP: Xem dữ liệu và tác vụ là một thể
thống nhất.
• Ưu điểm của OOP:
– Mô tả các quan hệ giữa các đối tượng dữ liệu
trong tự nhiên theo cách “ tự nhiên”.
– Dễ tái sử dụng code.
– Có cơ chế bảo mật dữ liệu.

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 23/


Câu hỏi
• Trình bày phương pháp lập trình POP.
• Trình bày phương pháp lập trình OOP.

Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP


Slide 24/


Trắc nghiệm
(1) V ới khai báo struct, ta v ẫn có thể tạo cơ chế
bảo m ật m ột thành phần dữ liệu.
(a) Đúng (b) Sai.
(2) V ới khai báo struct, muốn thao tác đến dữ
liệu bắt buộc phải thông qua m ột hàm.
(a) Đúng (b) Sai.
(3) Để tái sử dụng code C++, code được tái sử
dụng phải được đểtrong m ột file và không
có hàm main.
(a) đúng (b) sai.
Ths. Nguy ễn Th ị Thùy

Ch ương 01- Nh ập môn OOP

Slide 25/


×