Giáo trình lập trình hướng đối tượng

59 226 0
Giáo trình lập trình hướng đối tượng

Đ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

Học viện Cơng nghệ Bưu Viễn thơng Khoa Cơng nghệ thơng tin LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Nguyễn Thị Bích Ngun ntbichnguyen@gmail.com TỔNG QUAN VỀ LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG NỘI DUNG  1.1 Phương pháp tiếp cận lập trình truyền thống  1.1.1 Lập trình tuyến tính  1.1.2 Lập trình hướng cấu trúc   1.2 Phương pháp tiếp cận lập trình hướng đối tượng 1.3 Các đặc trưng lập trình hướng đối tượng  1.3.1 Tính đóng gói liệu  1.3.2 Tính kế thừa  1.3.3 Tính đa hình  1.4 Trừu tượng hóa  1.4.1 Tổ chức trừu tượng theo phân cấp lớp  1.4.2 Trừu tượng hóa – sở phát triển phần mềm  1.5 Xu hướng phát triển lập trình hướng đối tượng  1.5.1 Lập trình hướng thành phần  1.5.2 Lập trình hướng tác nhân  1.5.3 Lập trình hướng khía cạnh PHƯƠNG PHÁP TIẾP CẬN CỦA LẬP TRÌNH TRUYỀN THỐNG  Lập trình truyền thống trải qua hai giai đoạn: Giai đoạn sơ khai, khái niệm lập trình đời, lập trình tuyến tính Giai đoạn lập trình hướng cấu trúc LẬP TRÌNH TUYẾN TÍNH  Đặc trưng lập trình tuyến tính tư theo lối Chương trình thực từ đầu đến cuối, lệnh lệnh kết thúc chương trình LẬP TRÌNH TUYẾN TÍNH Đặc trưng: có hai đặc trưng  Đơn giản: Chương trình tiến hành đơn giản theo lối tuần tự, không phức tạp  Đơn luồng: Chỉ có luồng (thread) cơng việc nhất, công việc thực luồng LẬP TRÌNH TUYẾN TÍNH Tính chất:  Ưu điểm: Do tính đơn giản, lập trình tuyến tính có ưu điểm chương trình đơn giản, dễ hiểu Lập trình tuyến tính ứng dụng cho chương trình đơn giản  Nhược điểm: Với ứng dụng phức tạp, người ta dùng lập trình tuyến tính để giải LẬP TRÌNH TUYẾN TÍNH Lưu ý:  Ngày nay, lập trình tuyến tính tồn phạm vi mơ đun nhỏ phương pháp lập trình khác  Ví dụ chương trình lập trình cấu trúc, lệnh thực theo từ đầu đến cuối chương trình LẬP TRÌNH HƯỚNG CẤU TRÚC Trong lập trình hướng cấu trúc:  Chương trình chia nhỏ thành chương trình  Mỗi chương trình thực cơng việc xác định  Chương trình gọi đến chương trình theo giải thuật, cấu trúc xác định chương trình LẬP TRÌNH HƯỚNG CẤU TRÚC   Các ngơn ngữ lập trình cấu trúc phổ biến Pascal, C C++ Riêng C++ ngồi việc có đặc trưng lập trình cấu trúc kế thừa từ C, có đặc trưng lập trình hướng đối tượng Cho nên C++ gọi ngơn ngữ lập trình nửa cấu trúc, nửa hướng đối tượng LẬP TRÌNH HƯỚNG CẤU TRÚC Đặc trưng:  Đặc trưng lập trình cấu trúc thể mối quan hệ: Chương trình = Cấu trúc liệu + Giải thuật  Trong đó: Cấu trúc liệu cách tổ chức liệu, cách mơ tả tốn dạng ngơn ngữ lập trình Giải thuật quy trình để thực cơng việc xác định TRỪU TƯỢNG HÓA Tổ chức trừu tượng theo phân cấp lớp:  Sơ đồ phân cấp trừu tượng đối tượng tự nhiên TRỪU TƯỢNG HÓA Trừu tượng hóa – sở phát triển phần mềm:  Khi ghi nhận yêu cầu cho dự án phần mềm, thường bắt đầu cách thu thập thơng tin chi tiết tình hình thực tế mà hệ thống hoạt động Những chi tiết thường tổng hợp của:  Thông tin từ người sử dụng hệ thống vấn  Những hoạt động mà quan sát từ nghiệp vụ hàng ngày người sử dụng hệ thống TRỪU TƯỢNG HÓA Trừu tượng hóa – sở phát triển phần mềm:  Kế đến phải chọn lọc chi tiết liên quan tới mục đích sử dụng hệ thống  Việc cần thiết khơng thể tự động hố tất hệ thống nghiệp vụ phần mềm!  Việc bao gồm nhiều chi tiết làm hệ thống phức tạp khó khăn việc thiết kế, kiểm tra chương trình, dò lỗi, tạo sưu liệu, bảo trì mở rộng chương trình sau TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm:  Sự trừu tưởng hố giúp người phân tích hệ thống có nét đặc trưng hệ thống miền (domain) toán, tập trung vào vấn đề hệ thống dự định phát triển TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm:  VD: Khi thể người chương trình, màu mắt họ có quan trọng khơng? Về gien ? Lương ? Sở thích ?  Câu trả lời đặc tính người liên quan hay khơng liên quan tuỳ thuộc vào hệ thống mà ta định phát triển là:  Chương trình tính lương  Chương trình tiếp thị theo tuổi tác  CSDL bệnh nhân nhãn khoa  Hệ thống theo dõi kẻ bị truy nã TRỪU TƯỢNG HĨA Trừu tượng hóa – sở phát triển phần mềm:  Khi xác định đặc trưng quan trọng tình huống, ta cần chuẩn bị mơ hình hố cho  Mơ hình hố xử lý nhằm phát triển khuôn mẫu để tạo thứ đó; ví dụ thiết kế nhà, sơ đồ mạch điện, khuôn bánh  Một mơ hình đối tượng hệ thống phần mềm mẫu Mơ hình hố trừu tượng hố ln với mơ hình mơ tả đồ họa hay vật lý trừu tượng XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng thành phần (Component-Oriented programmingCOP)  Lập trình hướng tác nhân (AgentOriented Programming)  Lập trình hướng khía cạnh (AspectOriented Programming-AOP)  XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng thành phần:  Ý tưởng: Giải toán cách xây dựng tập thành phần (component) có tính độc lập tương Mỗi thành phần đảm nhiệm phần công việc định Sau đó, người ta ghép thành phần với để thu phần mềm thoả mãn tập yêu cầu xác định XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng thành phần:  Phương pháp:  Xây dựng thư viện thành phần, thành phần thực công việc xác định  Khi cần phát triển phần mềm cụ thể, người ta cần chọn thành phần có sẵn thư viện để ghép lại với Người lập trình phải phát triển thêm thành phần cần mà chưa có thư viện XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng thành phần:  Ưu điểm:  Lập trình viên chia sẻ với thành phần xây dựng cho nhiều người khác dùng chung  Khi cần, lập trình viên lắp ghép thành phần có sẵn khác để tạo thành chương trình có chức khác Tất cần dựa công nghệ lắp ghép thành phần, tiết kiệm nhiều công sức lập trình XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng tác nhân:  Lập trình hướng agent xem mức trừu tượng cao lập trình hướng thành phần  Trong đó, agent thành phần có khả hoạt động độc lập, tự chủ để hồn thành cơng việc Hơn nữa, agent có khả chủ động liên lạc với agent khác để phối hợp, cộng tác hay cạnh tranh để hoàn thành nhiệm vụ XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng tác nhân:  Đặc trưng bản: Thứ khả tự chủ agent để hoàn thành nhiệm vụ riêng Thứ hai tính tổ chức xã hội agent, cho phép agent phối hợp, cộng tác, cạnh tranh để hoàn thành nhiệm vụ chung toàn hệ thống XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng khía cạnh:  Phương pháp lập trình hướng khía cạnh phương pháp lập trình phát triển tư tách biệt mối quan tâm khác thành mô đun khác  Ở đây, mối quan tâm thường chức nghiệp vụ cụ thể đóng gói mà khía cạnh (thuộc tính) chung mà nhiều mơ đun phần mềm hệ thống nên có, ví dụ lưu vết thao tác lỗi (error logging) XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng khía cạnh:  Với AOP, cài đặt mối quan tâm chung cắt ngang hệ thống mơ đun đặc biệt gọi aspect thay dàn trải chúng mô đun nghiệp vụ liên quan  Các aspect sau tự kết hợp với mơ đun nghiệp vụ khác q trình gọi đan (weaving) biên dịch đặc biệt XU HƯỚNG PHÁT TRIỂN CỦA LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Lập trình hướng khía cạnh:  AspectJ cơng cụ AOP cho ngơn ngữ lập trình Java Trình biên dịch AspectJ đan xen chương trình Java với aspect thành tập tin bytecode chạy máy ảo Java

Ngày đăng: 26/11/2018, 08:32

Từ khóa liên quan

Mục lục

  • Slide 1

  • NỘI DUNG

  • PHƯƠNG PHÁP TIẾP CẬN CỦA LẬP TRÌNH TRUYỀN THỐNG

  • LẬP TRÌNH TUYẾN TÍNH

  • LẬP TRÌNH TUYẾN TÍNH

  • LẬP TRÌNH TUYẾN TÍNH

  • LẬP TRÌNH TUYẾN TÍNH

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • LẬP TRÌNH HƯỚNG CẤU TRÚC

  • PHƯƠNG PHÁP TIẾP CẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  • PHƯƠNG PHÁP TIẾP CẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  • PHƯƠNG PHÁP TIẾP CẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  • PHƯƠNG PHÁP TIẾP CẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

  • PHƯƠNG PHÁP TIẾP CẬN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

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

Tài liệu liên quan