Bài giảng Lập trình Java - Chương 0: Nhập môn lập trình hướng đối tượng

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

Nhận biết các khái niệm cơ bản của OOP

 

ppt24 trang | Chuyên mục: Java | Chia sẻ: dkS00TYs | Lượt xem: 2786 | Lượt tải: 2download
Tóm tắt nội dung Bài giảng Lập trình Java - Chương 0: Nhập môn lập trình hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Chương 01- Nhập môn OOP Slide */ NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG(OOP – Object Oriented Programming) Ths. Nguyễn Thị Thùy LẬP TRÌNH JAVA Chương 0 Chương 01- Nhập môn OOP Slide */ 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 Nhận biết các khái niệm cơ bản của OOP Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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 */ 0.1- Lập trình thủ tục(POP- Procedure Oriented Programming) Data structure + Algorithm = Program Kỹ thuật POP: Problem Data structure Operation (function) Program struct XX {..... }; type Fun (XX x) {..... }; void main() { X x; Fun(x); }; pick nouns pick verbs Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 0.2- Nhược điểm của POP Diễn đạt “thiếu tự nhiên” 	Có học sinh x 	“Viết lý lịch học sinh x” 	“x ơi, viết lý lịch đi em” Diễn đạt nào tự nhiên hơn? “x ơi, viết lý lịch đi em” VietLyLich(x); x.VietLyLich(); Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ Khó mô tả những quan hệ phức tạp của thế giới tự nhiên Ví dụ: 0.2- Nhược điểm của POP Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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; }; void main() {STUDENT x = { “Hoa”, 19, 5}; x.Age=1000; x.Score=-20; }; Bạn nghĩ sao về 2 tác vụ này? 0.2- Nhược điểm của POP Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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 vi 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 vi 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 */ 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 Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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 0.4- Ưu điểm của OOP Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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 0.4- Ưu điểm của OOP Chương 01- Nhập môn OOP Slide */ 0.5- Sơ lược về OOP Đối tượng (object): Đóng gói dữ liệu + hành vi Đố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 */ 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 vi 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 vi trong lớp cha và trong lớp con. Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 0.6- Ngôn ngữ OOP C++ ( Borland C++, Visual C++) Java C# ( C sharp) Visual Basic. ..... Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 0.6- Ngôn ngữ OOP C++, MS VC++: 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 Java (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 */ 0.7- Phương pháp giải bài toán theo OOP Problem properties Operation (function, method, behavior) Program class X { type1 prop1; type2 prop2; ....... type Method1(...) { } ..... }; void main() { X x; // object variable x.Method1(...); }; pick nouns pick verbs Đóng gói dữ liệu và hành vi thành class Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ Giải bài toán hướng POP với C, C++ Viế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) Xuất một hs  Hàm Xuat(HS hs); Ngưng. Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ 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 */ Giải bài toán hướng OOP Ths. Nguyễn Thị Thùy Chương 01- Nhập môn OOP Slide */ Đố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 */ 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. Xuấ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 */ 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 */ 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 */ 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 */ Trắc nghiệm 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. 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. Để 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 

File đính kèm:

  • pptBài giảng Lập trình Java - Chương 0_Nhập môn lập trình hướng đối tượng.ppt
Tài liệu liên quan