Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
902,5 KB
Nội dung
LẬP TRÌNH JAVA Ch ương 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 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 ểm c 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 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 em” VietLyLich(x); x.VietLyLich(); Diễn đạt tự nhiên hơn? “x ơi, viết lý lịch em” Ths Nguy ễn Th ị Thùy Ch ương 01- Nh ập môn OOP Slide 5/ 0.2- Nhược điểm POP K hó mô t ả nh ững quan h ệ ph ức t ạp c 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 }; struct FEMALE { PERSON Data }; 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 POP B ảo m ật 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ĩ x.Score=-20; 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 s ự ho ạt động c đối t ượng Gi ống t ự nhiên Đối t ượng th ực thi m ột ho ạt động t ức đối t ượng th ực hi ện m ột hành v i mà đối t ượng có kh ả n ăng M ột ch ương trình m ột tr ật t ự l ời y c ầu đối t ượng th ực hi ện hành v i c Chương trình 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 OOP D ễ mô t ả quan h ệ phân c ấp th ế gi ới t ự nhiên Tự nhiên class PERSON { }; Person is a Male Hiện thực is a class MALE: PERSON { }; tự nhiên Female class FEMALE: PERSON { }; Ths Nguy ễn Th ị Thùy Ch ương 01- Nh ập môn OOP Slide 9/ 0.4- Ưu điểm OOP Có tính b ảo m ật cao: Bên 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 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 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 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 OOP khái ni ệm c b ản c OOP Đóng gói d ữ li ệu + hành v i Tính thừa k ế: M ột l ớp 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 m ột hành v i l ớp cha v l ớp 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 bi ến c ch ương trình Hàm main() POP • Jav a (Sun), C# (Microsoft): Chỉ h ỗ tr ợ OOP Hàm main ph ải n ằm 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 toán theo OOP Program pick nouns Problem Đóng gói liệu 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 toán hướng POP với C, C++ V i ết chương trình nhập , xuất học sinh Thông tin c ần quan tâm v ề h ọc sinh: Mã học sinh (8 ký t ự), tên h ọc sinh (30 ký t ự), ểm (int) Danh t ừ: H ọc sinh c ấu trúc HS Động t ừ: B đầ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 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 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 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 học sinh, thông tin v ề m ột học sinh: Mã, tên, điểm môn học X uất thông tin chi tiết v ề học sinh 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 liệu tác vụ rời • Các nhược điểm POP – Mô tả quan hệ đối tượng liệu tự nhiên theo cách “không tự nhiên” – Khó tái sử dụng code – Bảo mật Ths Nguy ễn Th ị Thùy Ch ương 01- Nh ập môn OOP Slide 22/ Tóm tắt • OOP: Xem liệu tác vụ thể thống • Ưu điểm OOP: – Mô tả quan hệ đối tượng liệu tự nhiên theo cách “ tự nhiên” – Dễ tái sử dụng code – Có chế bảo mật 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 tạo chế bảo m ật m ột thành phần liệu (a) Đúng (b) Sai (2) V ới khai báo struct, muốn thao tác đến 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 tái sử dụng phải đểtrong m ột file hàm main (a) (b) sai Ths Nguy ễn Th ị Thùy Ch ương 01- Nh ập môn OOP Slide 25/ [...]... 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... 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... 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).. .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. .. ươ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. .. 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... ị 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... 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/ ... x.Age= 100 0; Bạn nghĩ x.Score=- 20; 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 s ự ho ạt động c đối t ượng... 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 ểm c l ập trình h ướng đối t ượng... ễ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