Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
358 KB
Nội dung
Lập trình hướng đối tượng Lập trình hướng đối tượng với C++ GV: Hà Văn Sang Sang Hà Văn Khoa HTTT – HVTC Khoa HTTT, Email: sanghv@gmail.com Homepage: www.hvtc.edu.vn/sanghv Academy Of Finance, Hanoi 2008-2009 sanghv@hvtc.edu.vn Chương I Object Oriented Programing– Information Systems Department Giới thiệu Tổng quan Lập trình hướng đối tượng Được xem là: Lập trình định hướng đối tượng Object Oriented Programming (OOP) Cách tiếp cận mới, hiệu Giúp tăng suất Dễ dàng bảo trì, sửa đổi, nâng cấp Mục đích: Giảm bớt thao tác viết trình Mơ tả chân thực giới thực Vậy OOP khó học hay dễ học ? Object Oriented Programing– Information Systems Department Tổng quan kỹ thuật lập trình 1.1 Lập trình tuyến tính 1.2 Lập trình cấu trúc 1.3 Lập trình mơđun 1.4 Nhược điểm lập trình cấu trúc 1.5 Lập trình hướng đối tượng Object Oriented Programing– Information Systems Department 1.1 Lập trình tuyến tính Lập • • Đặc • • • trình tuyến tính : Cịn gọi lập trình phi cấu trúc Giải toán tương nhỏ, đối đơn giản điểm: Chỉ gồm chương trình Gồm dãy câu lệnh Chương trình ngắn, 100 dịng Object Oriented Programing– Information Systems Department 1.1 Lập trình tuyến tính (tiếp) Nhược điểm: Không sử dụng lại đoạn mã Không có khả kiểm sốt phạm vi truy xuất liệu Mọi liệu chương trình tồn cục Dữ liệu bị sửa đổi vị trí chương trình Khơng đáp ứng việc triển khai phần mềm Object Oriented Programing– Information Systems Department 1.2 Lập trình cấu trúc Ra đời vào năm 70: Chương trình chia nhỏ thành chương trình con: Thủ tục (Procedure) Hàm (Function) Các chương trình con: Độc lập với có liệu riêng Trao đổi qua: tham số biến toàn cục Object Oriented Programing– Information Systems Department 1.2 Lập trình cấu trúc (tiếp) Xuất khái niệm trừu tượng hoá Là khả quan sát vật mà: Không quan tâm tới chi tiết không quan trọng bên Không quan tâm tới việc thực Trừu tượng hoá liệu Trừu tượng hoá thao tác Ngơn ngữ lập trình cấu trúc: C, Pascal Foxpro … Object Oriented Programing– Information Systems Department 1.3 Lập trình mơđun Với lập trình mơđun: Các thủ tục có chung chức nhóm lại với Chương trình chia thành nhiều phần nhỏ Các phần tương tác thơng qua việc gọi thủ tục Mỗi mơ đun có liệu riêng Object Oriented Programing– Information Systems Department 1.4 Nhược điểm lập trình truyền thống Nhược điểm: Chương trình khó kiểm sốt Khó khăn việc bổ sung, nâng cấp chương trình Khi thay đổi, bổ sung liệu dùng chung phải thay đổi gần tất thủ tục/hàm liên quan Khả sử dụng lại đoạn mã chưa nhiều Không mô tả đầy đủ, trung thực hệ thống thực tế Object Oriented Programing– Information Systems Department 10 2.2 Đối tượng (Object) Là khái niệm trừu tượng phản ánh thực thể giới thực Có thể thực thể vật lý Có thể khái niệm trừu tượng Được định nghĩa thể lớp Chính thực thể hệ thống hướng đối tượng Một đối tượng đóng gói thành phần: Trạng thái (state) hay liệu Các ứng xử (behavior) hay hành vi, thao tác Object Oriented Programing– Information Systems Department 15 2.3 Thuộc tính & phương thức Thuộc tính bao gồm: Hằng, biến Tham số nội Thuộc tính xác định kiểu, gồm: Kiểu cổ điển Kiểu người dùng định nghĩa Phương thức là: Các hàm nội đối tượng Có kiểu trả Tên gọi khác: hàm thành viên Object Oriented Programing– Information Systems Department 16 2.4 Lớp (Class) & Lớp (SubClass) Lớp: tập hợp đối tượng có thuộc tính hành vi Là thiết kế mẫu mô tả cấu trúc liệu gồm: Các thành phần liệu Các phương thức Lớp sử dụng kiểu liệu người dùng định nghĩa Lớp con: Là lớp thơng thường Có thêm tính chất kế thừa đặc tính lớp khác Object Oriented Programing– Information Systems Department 17 2.5 Lớp trừu tượng Là lớp mà khơng thể trở thành lớp thực tế Được thiết kế nhằm tạo lớp có đặc tính tổng qt Bản thân chưa có ý nghĩa nên chưa thể viết mã cho đối tượng Ví dụ: Lớp hình phẳng Lớp động vật Object Oriented Programing– Information Systems Department 18 2.6 Truyền thông điệp Thông điệp: Là phương tiện để đối tượng chuyển yêu cầu tới đối tượng khác Một thông điệp bao gồm: Handle đối tượng đích (đối tượng chủ) Tên phương thức cần thực Các thông tin cần thiết khác (tham số) Hệ thống yêu cầu đối tượng thực phương thức sau: Gửi thông báo tham số cho đối tượng Kiểm tra tính hợp lệ thơng báo Gọi thực hàm tương ứng phương thức Object Oriented Programing– Information Systems Department 19 2.7 Sự trừu tượng hoá Khái niệm: Là khả bỏ qua hay không để ý tới thành phần không quan trọng Các loại trừu tượng hố: Trừu tượng hố liệu: khơng quan tâm chi tiết không quan trọng bên Trừu tượng hố chức năng: khơng quan tâm làm để thực cơng việc Tóm lại: Chỉ quan tâm tới đặc điểm quan trọng Bỏ qua chi tiết không liên quan Object Oriented Programing– Information Systems Department 20 2.8 Sự đóng gói Khái niệm: Là chế ràng buộc liệu thao tác liệu thành thể thống Đóng gói gồm: Bao gói: người dùng giao tiếp với hệ thống qua giao diện Che dấu: ngăn chặn thao tác không phép từ bên Ưu điểm: Quản lý thay đổi Bảo vệ liệu Object Oriented Programing– Information Systems Department 21 2.9 Sự kế thừa Khái niệm: Khả cho phép xây dựng lớp thừa hưởng thuộc tính lớp có Đặc điểm: Lớp nhận bổ sung thành phần Hoặc định nghĩa thuộc tính lớp cha Các loại kế thừa: Đơn kế thừa Đa kế thừa Object Oriented Programing– Information Systems Department 22 2.10 Sự đa hình Khái niệm: Khả đưa phương thức có tên lớp Thực bởi: Định nghĩa lại Nạp chồng Cơ chế dựa kết gán: Kết gán sớm Kết gán muộn Object Oriented Programing– Information Systems Department 23 Các bước thiết kế chương trình OOP Các bước chính: Xác định dạng đối tượng (lớp) Tìm liệu dùng chung, chia xẻ Xác định lớp sở dựa vào liệu dùng chung Xây dựng lớp dẫn xuất từ lớp sở Object Oriented Programing– Information Systems Department 24 Ưu điểm OOP Ưu điểm chính: Loại bỏ đoạn mã lặp lại Tạo chương trình an tồn, bảo mật Dễ dàng mở rộng nâng cấp Rút ngắn thời gian xây dựng hệ thống Tăng xuất hiệu Chương trình thiết kế theo qui trình Object Oriented Programing– Information Systems Department 25 Một số ngôn ngữ OOP Hầu hết ngơn ngữ lập trình hỗ trợ OOP, chia thành loại: Ngơn ngữ hỗ trợ hướng đối tượng: Object C, Pascal, C++, Delphi… Ngôn ngữ hướng đối tượng: SmallTalk, JAVA Một số ngôn ngữ OOPhiện nay: Visual C++ VB.NET, C# Object Oriented Programing– Information Systems Department 26 Ứng dụng OOP Dùng để phát triển phần mềm nhiều lĩnh vực khác nhau: Ví dụ: hệ điều hành Windows Lĩnh vực chính: Hệ thống thời gian thực Cơ sở liệu hướng đối tượng Hệ siêu văn bản, đa phương tiện Trí tuệ nhân tạo Lập trình song song, mạng nơron … Object Oriented Programing– Information Systems Department 27 Bài tập Sử dụng TC++ để lập trình: Tìm Min, Max dãy n số nguyên, thực Tính tổng S=1+1/2+…+1/n Sắp xếp dãy n số nguyên, thực phương pháp: Selection, Insert, Bubble, Quick sort, merge sort Quản lý danh sách n sinh viên thông tin gồm: họ tên, ngày sinh, gt, tốn, lý, hóa, đtb Viết hàm/thủ tục nhập danh sách, in danh sách, xếp theo họ tên, đtb Object Oriented Programing– Information Systems Department 28 Qui cách nộp Gửi Email tới địa chỉ: sanghv@gmail.com Tiêu đề (Subject): [Lớp][BT1][Ho_va_Ten][Ngày sinh] Ví dụ: [K44/41.01][BT1][Nguyen_Van_A][xx/xx/xxxx] Đính kèm làm (nên zip lại thành thư mục) Object Oriented Programing– Information Systems Department 29 ... Lập trình cấu trúc 1.3 Lập trình mơđun 1.4 Nhược điểm lập trình cấu trúc 1.5 Lập trình hướng đối tượng Object Oriented Programing– Information Systems Department 1.1 Lập trình tuyến tính ? ?Lập. .. 10 1.5 Lập trình hướng đối tượng Là phương pháp lập trình: Mơ tả xác đối tượng giới Lấy đối tượng làm tảng xây dựng thuật toán Thiết kế xoay quanh liệu hệ thống Chương trình chia... Gồm tập hợp đối tượng Sự đóng gói thành phần: Dữ liệu (thuộc tính đối tượng) Các thao tác liệu Các đối tượng kế thừa đặc tính đối tượng khác Hoạt động thông qua tương tác đối tượng nhờ