1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài giảng lập trình hướng đối tượng dùng c + + chương 1 tổng quan về lập trình hướng đối tượng

40 480 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 767,95 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1 Lập trình tuyến tính: Đặc điểm Chương trình đơn giản, số dòng lệnh ít Thực hiện trình tự từ đầu đến cuối Không có cấu trúc Dùng các lệnh “goto/ gosub” để nhảy đến một vị trí nào đó tr

Trang 1

Chương 1 Giới thiệu

TRẦN MINH THÁI

Email: minhthai@itc.edu.vn

Website: www.minhthai.edu.vn

Cập nhật: 05 tháng 01 năm 2015

Lập trình Hướng đối tượng

( O bject O riented P rogramming)

Trang 2

Tài liệu tham khảo

Trần Minh Thái, Bài giảng & bài tập Lập trình hướng đối tượng trên Web site: www.minhthai.edu.vn

Scott Robert Ladd, C++ kỹ thuật và ứng dụng (Nguyễn Hùng biên dịch)

Trần Văn Lăng, Lập trình hướng đối tượng với C++

Stroustrup, Bjarne, The C++ Programming Language, Reading, MA: Addison-Wesley (1993)

Bruce Eckel, Thinking in C++ 2nd edition, Vol.1&2

Dietel & Dietel C++ How to Program, 3rd edition

Trang 3

Nội dung học phần

Chương 1 Giới thiệu lập trình hướng đối tượng (3 tiết)

Chương 2 Giới thiệu ngôn ngữ C++ (6 tiết)

Chương 3 Lớp và đối tượng (9 tiết)

Chương 4 Đa năng hoá toán tử (6 tiết)

Chương 5 Kế thừa đơn và đa kế thừa (9 tiết)

Chương 6 Đa hình (6 tiết)

Chương 7 Phân tích, thiết kế và hiện thực chương trình theo hướng đối tượng (6 tiết)

Trang 6

Phương pháp lập trình?

C++/C#/Java/v.v… là NNLT để viết chương trìnhPPLT là hệ thống hướng dẫn các giai đoạn cần thiết, cấu trúc của một chương trình

PPLT là các cách tiếp cận giúp cho quá trình cài đặt hiệu quả hơn

Trang 8

1960 – 1970

1980 Thời gian đầu

Trang 9

(1) Lập trình tuyến tính

Không mang tính thiết kế

Tiêu biểu là ngôn ngữ Basic, Fortran

Chương trình là một dãy các lệnh

Lập trình là viết các lệnh trong dãy lệnh

Trang 10

(1) Lập trình tuyến tính: Đặc điểm

Chương trình đơn giản, số dòng lệnh ít

Thực hiện trình tự từ đầu đến cuối

Không có cấu trúc

Dùng các lệnh “goto/ gosub” để nhảy đến một vị

trí nào đó trong chương trình

Trang 11

(2) Lập trình có cấu trúc

Chương trình là một hệ thống các thủ tục/ hàm Mỗi thủ tục/ hàm là một dãy các lệnh

Trang 12

(2) Lập trình có cấu trúc

Khái niệm trừu tượng hóa (abstraction) theo chức năng: Làm được gì, không quan tâm chi tiết bên trong

Phân chia công việc thành các chức năng đơn giản hơn gọi là lập trình đơn thể (module)

Trang 13

(2) Lập trình có cấu trúc: Đặc điểm

Ưu điểm

Đơn giản hóa quá trình thiết kế và cài đặt

Dễ đọc chương trình, hiểu chi tiết bài toán

Các chương trình con tương đối độc lập, dễ phân công cho từng nhóm

Trang 14

Hàm và dữ liệu không có quan hệ với nhau

Hàm không hạn chế truy nhập tới các biến toàn cục

Trang 15

Phần xử lý nằm rải rác và phải hiểu rõ cấu trúc dữ liệu

Khó bảo trì chương trình

Trang 17

Mục tiêu

• Loại bỏ những thiếu sót của tiếp cận theo thủ tục

• Tiếp cận theo hướng trừu tượng hoá (abstraction)

• Dữ liệu được xem là phần trung tâm và được bảo vệ

• Hàm gắn kết với dữ liệu

(3) Lập trình Hướng đối tượng

(Object-oriented Programming)

Trang 19

• Duy trì và sửa đổi mã nguồn dễ dàng

• Cung cấp framework tốt với các thư viện mã nguồn

(3) Lập trình Hướng đối tượng

(Object-oriented Programming)

Trang 20

6.20

Sự trừu tượng hóa (Abstraction)?

• Trừu tượng hóa

• Giao diện – Cài đặt

Trang 21

Phương thức

Trang 22

tượng Lớp đối tượng Kiểu dữ liệu cấu trúcCác thông tin được quan tâm

về 1 đối tượng Thuộc tính Thành phần thuộc tính của kiểu cấu

trúc Các khả năng của đối tượng Phương thức Các phương thức

Phân công giữa các đối tượng Yêu cầu Gọi thực hiện

phương thức

Trang 23

Đối tượng (Object)?

Trang 26

thuộc tính thể hiện Một đối tượng cụ thể được gọi là một thể hiện.

Trang 27

Lớp (class)?

Nhiều đối tượng cùng loại  lớp

Nhiều đối tượng cùng loại chia sẻ những đặc điểm chung

Trang 28

Lớp (class)?

Một lớp là một thiết kế (blueprint) hay mẫu

(prototype) cho các đối tượng cùng kiểu

VD: lớp XeDap là một thiết kế chung cho nhiều

đối tượng xe đạp được tạo ra

Lớp định nghĩa các thuộc tính và các phương thức chung cho tất cả các đối tượng của cùng một loại nào đó

Trang 29

Lớp (class)?

Một đối tượng là một thể hiện cụ thể của một lớp

 VD: mỗi đối tượng xe đạp là một thể hiện của lớp XeDap

Mỗi thể hiện có thể có những thuộc tính thể hiện khác nhau

 VD: một xe đạp có thể đang ở bánh răng thứ 5/ một xe khác có thể là đang ở bánh răng thứ 3

Trang 31

Thuộc tính & Phương thức của lớp

• Thuộc tính (attribute) là dữ liệu trình bày các đặc điểm về một đối tượng

• Phương thức (method) có liên quan tới những việc mà đối tượng có thể làm Một phương thức đáp ứng một chức năng tác động lên dữ liệu của đối tượng (thuộc tính)

Trang 32

Thông điệp & Truyền thông điệp

• Thông điệp (message) là một yêu cầu một hoạt động

• Các tham số mà phương thức cần

• Truyền thông điệp: một đối tượng gọi một hay nhiều phương thức của đối tượng khác để yêu cầu thông tin

Trang 33

Tính đóng gói (Encapsulation)

Che giấu việc thực thi chi tiết của một đối tượng

Trang 34

Ẩn thông tin (Information Hiding)

Thuộc tính được lưu trữ hay phương thức được cài đặt như thế nào  được che giấu khỏi các đối tượng khác

Trang 35

Tính thừa kế (Inheritance)

Animals

Trang 36

6.36

Tính thừa kế (Inheritance)

• Cho phép các lớp được định nghĩa kế thừa từ các lớp khác

• VD: lớp xe đạp leo núi và xe đạp đua là những lớp con (subclass) của lớp xe đạp

• Thừa kế nghĩa là các phương thức và các thuộc tính được định nghĩa

trong một lớp có thể được thừa kế hoặc được sử dụng lại bởi lớp khác

Trang 39

Các bước thiết kế đối tượng

Bước 1: Xây dựng sơ đồ đối tượng

Trang 40

Q&A

Ngày đăng: 04/09/2015, 15:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm