CHƯƠNG 1: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG potx

12 416 0
CHƯƠNG 1: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG potx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

4/14/2010 CHƯƠNG 1: MỤC TIÊU NHẬP MƠN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Nhận biết khác biệt lập trình hướng thủ tục lập trình hướng đối tượng Phân tích, thiết kế thực chương trình theo phương pháp hướng đối tượng Nhận diện số ngôn ngữ OOP ố Nhận biết khái niệm OOP NỘI DUNG CHI TIẾT LẬP TRÌNH THỦ TỤC LẬP TRÌNH THỦ TỤC – POP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG – OOP SƠ LƯỢC VỀ OOP ĐỐI TƯỢNG HÀNH VI THÔNG ĐIỆP DỮ LIỆU ĐẶC TÍNH POP- Procedure Oriented Programming Phân cơng việc → việc nhỏ Là chương trình Thiết kế top-down Kỹ thuật POP: ỹ pick nouns Data structure pick verbs Operation (function) Data structure + Algorithm = Program GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Program struct XX { }; type Fun (XX x) { }; Problem GIẢI BÀI TỐN VỚI OOP TĨM TẮT OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP void main() { X x; Fun(x); }; GV: Võ Hồng Bảo Châu 4/14/2010 NHƯỢC ĐIỂM CỦA POP 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 cho học sinh x” “x ơi, viết lý lịch em” , ý ị VietLyLich(x); x.VietLyLich(); x VietLyLich(); Quan hệ liệu biểu diễn cấu trúc lồng pointer pointer Tính phân lớp khó phát hiện, có khó khăn biểu diễn lẫn tính dễ hiểu Bảo mật giới hạn truy xuất đến liệu struct STUDENT void main() Diễn đạt tự nhiên hơn? “x ơi, viết lý lịch em” GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP Khó mơ tả quan hệ phức tạp giới tự nhiên Biểu diễn dạng cấu trúc “phức tạp”, dễ dàng nhiều người { char Name[21]; int Age; int Score; }; {STUDENT x = { “Hoa”, 19, 5}; x.Age=1000; Bạn nghĩ x.Score=-20; tác vụ này? }; GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG OOP OOP-CHƯƠNG 1- NHẬP MÔN OOP Cần phương pháp lập trình khác giúp giải nhược điểm OOP có đặc điểm vượt trội so với POP hướng lập trình chủ đạo GV: Võ Hồng Bảo Châu OOP – Object Oriented Programming Chương trình hoạt động đối tượng Giống tự nhiên Đối tượng thực thi hoạt động tức đối tượng thực hành vi mà đối tượng có khả năng Một chương trình trật tự lời yêu cầu đối tượng thực hành vi Chương trình kích (script) OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4/14/2010 ƯU ĐIỂM CỦA OOP 10 Từ đối tượng, vật, kiện, tạo nên chương trình Thiết kế bottom-up Đối tượng = Dữ liệu + Hành vi Dễ mô tả quan hệ phân cấp giới tự nhiên class PERSON { }; Person is a Male = Hiện thực Tự nhiên class MALE: PERSON { }; is a Female + class FEMALE: PERSON { }; GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP tự nhiên GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP ƯU ĐIỂM CỦA OOP 11 12 Có tính bảo mật cao: Bên ngồi khơng thể tùy tiện truy cập liệu thuộc tính Tái sử dụng code Tái sử dụng code OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4/14/2010 SỰ KHÁC BIỆT SƠ LƯỢC VỀ OOP 13 14 Theo thủ tục Hướng đối tượng Đối tượng = Dữ liệu + Hành vi = Rút tiền (withdraw), gửi tiền (deposit), chuyển tiền (transfer) + Khách hàng (customer), tiền (money), tài khoản (account) GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP ĐỐI TƯỢNG 15 16 Một đối tượng hộp đen, mà chi tiết bên dấu kín object class girl Các đối tượng giao tiếp với thông qua việc truyền thông điệp (messages) Mai Lan Cúc Trúc Thông điệp nhận hành vi đối tượng OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4/14/2010 HÀNH VI (BEHAVIOR) 17 18 Thao tác (operation) Phương thức (method) Hàm (function) Thủ tục (procedure) ụ (p ) DỮ LIỆU (data): -Xinh đẹp -Dịu dàng - HÀNH VI (behavior ): -mua sắm -làm việc nhà -… Mai GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP DỮ LIỆU (DATA) NHỮNG GÌ LÀ ĐỐI TƯỢNG 19 20 Vật sờ mó (Tangible things) Như xe hơi, máy in, Vai trị (Roles) Cơng nhân, người chủ, Sự iệ ả S việc xảy ra, tình tiết ì h iế (Incidents) Thơng tin (information) Tính chất (property) Thuộc tính (attribute) Trường (f g (field) ) Chuyến bay, tràn số, Sự tương tác (Interactions) Sự mơ tả (Specifications) OOP-CHƯƠNG 1- NHẬP MƠN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Ký kết thỏa ước, mua hàng, Màu, hình dạng GV: Võ Hồng Bảo Châu 4/14/2010 THÔNG ĐIỆP MỘT SỐ ĐẶC TÍNH 21 22 Gửi thơng điệp: u cầu đối tượng thực thi hành vi Thí dụ: x HOCSINH < Name, Age> x.VietLyLich(); i i h() String S= x.getName(); int n= x.getAge(); GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP TÍNH ĐĨNG GĨI (ENCAPSULATION) TÍNH THỪA KẾ (INHERITANCE) TÍNH ĐA HÌNH (POLYMORPHISM) GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP TÍNH ĐĨNG GĨI (ENCAPSULATION) TÍNH THỪA KẾ (INHERITANCE) 23 24 Dữ liệu thao tác nhóm lại với Account Withdraw Deposit Transfer OOP-CHƯƠNG 1- NHẬP MÔN OOP Thực chất ghép chung hiểu biết giới thực → Có đồng liệu thao tác liệu GV: Võ Hồng Bảo Châu Tạo kiểu liệu từ kiểu có Nhằm sử dụng lại, bổ sung cần thiết hữ ì ầ hiế Thực chất phân lớp (classification) việc thiết kế hệ thống theo hướng đối tượng OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4/14/2010 TÍNH THỪA KẾ (INHERITANCE) TÍNH ĐA HÌNH (POLYMORPHISM) 25 26 Theo ngôn ngữ lớp, thừa kế có nghĩa lớp thừa kế đặc tính lớp khác Đây quan hệ “là một” (“is a”) Nhiều đối tượng chia sẻ đặc tính chung, có tác động khác Có yêu cầu, đối tượng có đáp ứng khác Thực chất tính đa dạng (many form) Để thực tính đa hình, ngơn ngữ đối tượng có đặc tính overload, override A car is a vehicle A dog is an animal A teacher is a person GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Overloaded Overridden methods ? NGƠN NGỮ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 27 28 Overloaded methods: Nhằm cung cấp dạng khác hành vi, có tên gọi Overridden methods: Hiện thực lại hành vi có tổ tiên Phải có tên trùng yếu tố tạo nên hành vi OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu C++ ( Borland C++, Visual C++) Java C# ( C sharp) Visual Basic OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4/14/2010 NGƠN NGỮ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Fortran (1954)30 29 C++, MS VC++: hỗ trợ POP lẫn OOP Lai OOP Hỗ trợ đa thừa kế Đối tượng biến chương trình Hàm main() POP Java (Sun), C# (Microsoft): hỗ trợ OOP, hàm main phải nằm t i hải ằ lớ Chỉ hỗ t đ thừ kế ột lớp trợ đơn thừa kế LISP (1957) Algol (1958) CPL (1963), U Cambridge Combined Programming Language Scheme (1975) BCPL (1967), MIT Basic Combined Programming Language B (1969), Bell Labs C (1970), Bell Labs C++ (1983), Bell Labs Objective C Java (1995), Sun GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Phương pháp giải toán theo OOP SO SÁNH CÁCH ViẾT CHƯƠNG TRÌNH 31 32 Program pick nouns Problem properties Bao gói liệu hành vi thành class pick verbs OOP-CHƯƠNG 1- NHẬP MÔN OOP Operation (function, method, behavior) class XX { type1 prop1; type2 prop2; type Method1( ) Method1( ) { } }; void main() { XX x; // object variable x.Method( ); }; GV: Võ Hồng Bảo Châu Viết chương trình nhập, xuất học sinh Thông tin cần quan tâm 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 hs Xuất hs Ngưng OOP-CHƯƠNG 1- NHẬP MÔN OOP Hàm Nhap(HS&hs) Hàm Xuat(HS hs); GV: Võ Hồng Bảo Châu 4/14/2010 Giải toán hướng POP với C++ Giải toán hướng OOP 33 34 GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Đối chứng hai cách thực TÓM TẮT 35 36 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 cac1h “khơng tự nhiên” Khó tái sử d ng code dụng code Bảo mật Chương trình=cấu trúc liệu + thuật tốn OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP GV: Võ Hồng Bảo Châu 4/14/2010 TĨM TẮT TÓM TẮT 37 38 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 dụng code Có chế bảo mật liệu TRONG OOP Đối tượng phải thuộc lớp (class) OOP CĨ ĐẶC TÍNH CƠ BẢN: TÍNH ĐĨNG GĨI (ENCAPSULATION) TÍNH THỪA KẾ (INHERITANCE) Í Ừ Ế TÍNH ĐA HÌNH (POLYMORPHISM) Đối tượng = Dữ liệu + Hành vi GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP CÂU HỎI PHẦN TỰ HỌC 39 40 Lập trình OOP tương tự lập trình POP mơ tả tốn dạng class, tác vụ xử lý liệu thành hành vi class Khai báo class tương tự khai báo struct có khác struct chỗ đưa tác vụ thao tác lên struct vào class gọi chúng methods lớp struct StructName class ClassName public private { { protected }; Modifier : Type1 Func1 () { } Modifier : Type2 Func2 () { } Type1 Func1 (StructName stru) { } Type2 Func2 (StructName stru) {} hàm toàn cục OOP-CHƯƠNG 1- NHẬP MÔN OOP TỰ DIỄN TẢ THEO Ý BẢN THÂN 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 }; Chỉ có method public toàn cục GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 10 4/14/2010 BÀI TẬP TẠI LỚP BÀI TẬP TẠI LỚP 41 42 HÃY PHÂN TÍCH CÁC BÀI TẬP SAU, XÁC ĐỊNH ĐỐI TƯỢNG CẦN QUAN TÂM LÀ GÌ, THÀNH PHẦN DỮ LiỆU VÀ THÀNH PHẦN HÀNH VI CỦA CÁC ĐỐI TƯỢNG ĐÓ, TỪ ĐÓ XÂY DỰNG THÀNH LỚP (CHƯA YÊU CẦU VIẾT CODE) 1) Nhập vào số thực Kiểm tra xem có phải cạnh tam giác hay khơng Nếu phải, cho biết tam giác tam giác (vng, cân, đều, thường) tính diện tích tam giác 2) Nhập vào số ngày, tháng, năm Kiểm tra xem ngày tháng năm có hợp lệ khơng? Nếu có in ngày hơm sau 3) Nhập vào ma trận mxn Tính tổng phần tử nằm đường chéo OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu Viết chương trình tính tổng, hiệu, tích, thương phân số nhập từ bàn phím In kết dạng tối giản Viết chương trình giải phương trình bậc 1: ax+b=0 với a,b số th nhập từ bà phím ới b ố thực hậ bàn hí Viết chương trình nhập hồ sơ học sinh lớp học gồm: tên, tuổi, điểm trung bình năm In tuổi lớn nhất, tuổi nhỏ lớp, Học sinh có điểm trung bình lớn nhất, học sinh có điểm trung bình nhỏ In danh sách theo thự tự tên GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP BÀI TẬP TẠI LỚP BÀI CHUẨN BỊ TRƯỚC 43 44 Nhập vào tọa độ điểm mặt phẳng Tính in tọa độ trung điểm chúng Nhập vào thời gian bắt đầu chạy thời gian đến vận động viên Cho biết thời gian chạy vận động viên Tính diện tích hình trịn, hình vng, hình chữ nhật, hình tam giác 10 Nhập danh sách n học sinh gồm họ lót, tên, ngày sinh, điểm văn, tốn, lí, hố a) In hình họ tên học sinh có điểm trung bình cao b) In hình danh sách xếp theo điểm trung bình giảm dần OOP-CHƯƠNG 1- NHẬP MƠN OOP GV: Võ Hồng Bảo Châu ÔN LẠI NGÔN NGỮ LẬP TRÌNH C/C++ Kiểu liệu Biến, hằng, biểu thức, phép toán Câu lệnh điều kiện: if, switch Câu lệnh lặp: for, while while for while, while Hàm: khai báo, truyền tham số, gọi hàm,… Mảng chiều, chiều Chuỗi ký tự Cấu trúc struct Con trỏ Làm tập nhà OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 11 4/14/2010 45 THANK YOU OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 12 ... Châu OOP-CHƯƠNG 1- NHẬP MƠN OOP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG OOP OOP-CHƯƠNG 1- NHẬP MÔN OOP Cần phương pháp lập trình khác giúp giải nhược điểm OOP có đặc điểm vượt trội so với POP hướng lập trình. .. Programming Chương trình hoạt động đối tượng Giống tự nhiên Đối tượng thực thi hoạt động tức đối tượng thực hành vi mà đối tượng có khả năng Một chương trình trật tự lời yêu cầu đối tượng thực hành vi Chương. .. Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP ĐỐI TƯỢNG 15 16 Một đối tượng hộp đen, mà chi tiết bên dấu kín object class girl Các đối tượng giao tiếp

Ngày đăng: 27/07/2014, 13:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan