1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 1. Lập trình hướng đối tượng

35 394 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 35
Dung lượng 6,72 MB

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

Nội dung

 Nhóm các câu lệnh thường xuyên thực hiện trong chương trình chính lại một chỗ và đặt tên đoạn câu lệnh đó thành một thủ tục Procedure hay còn gọi là chương trình con Sub Routines  Một

Trang 1

hướng đối tượng (Object-Oriented Programming)

Phan Mạnh Thường

Trang 2

Thông tin về môn học

• Phân tích và thiết kế ứng dụng theo

phương pháp hướng đối tượng

Mục tiêu

Trang 3

1 Trần Văn Lăng, “Lập trình hướng đối tượng sử dụng C++” , Nxb Thống kê, 2004.

2 Phạm Văn Ất, “C++ và Lập Trình Hướng Đối Tượng” , Khoa Học

Kỹ Thuật, 2000.

3 Vũ Thanh Hiền, “Lập trình Hướng Đối Tượng”, NXB ĐHQG ,

2000

4 Bruce Eckel, “Thinking in C++” , Prentice Hall Inc., 2000.

5 Budd, Timothy, “An Introduction to Object-Oriented

Trang 4

Thông tin về môn học

Gồm 3 cột điểm:

• Điểm chuyên cần (10%): điểm danh buổi học

(Lưu ý: nghỉ quá 30% số tiết bị cấm thi)

• Điểm kiểm tra (30%): lập trình trên máy

• Điểm thi (60%): làm bài thi giấy

Đánh giá

Trang 5

Chương 1: Giới thiệu lập trình hướng đối tượng

Trang 6

Giới thiệu phương pháp lập trình hướng đối tượng Giới thiệu phương pháp lập trình hướng đối tượng

Trang 7

Lập trình không có cấu trúc (lập trình tuyến

Trang 8

 Một “chương trình chính” bao gồm một dãy các lệnh liên tiếp

 Các biến dùng trong chương trình là toàn cục

Lập trình tuyến tính

Chương 1 Phương pháp lập trình hướng đối tượng

Trang 9

TITLE PGR3-1:IBM CHARACTER DISPLAY MODEL SMALL

.STACK 100H CODE

MAIN PROC MOV AH,2 ; hàm xuất ký tự MOV CX,256 ; số ký tự cần xuất MOV DL,0 ; DL giữ mã ASCII của ký tự NUL

; PRINT_LOOP : INT 21H ;display character INC DL

DEC CX JNZ PRINT_LOOP ;nhảy đến print_loop nếu CX# 0

;DOS EXIT MOV AH,4CH INT 21H

MAIN ENDP END MAIN

Ví dụ lập trình tuyến tính

Trang 10

 Nhược điểm:

 Mọi dữ liệu trong chương trình đều là biến toàn cục

do đó có thể bị thay đổi bởi bất kỳ phần nào đó của chương trình

 Khó khăn trong việc gỡ lỗi chương trình

 Không tận dụng lại được mã nguồn

Lập trình tuyến tính

Trang 11

 Nhóm các câu lệnh thường xuyên thực hiện trong chương trình chính lại một chỗ và đặt tên đoạn câu lệnh

đó thành một thủ tục (Procedure) hay còn gọi là chương trình con (Sub Routines)

 Một chương trình chính bao gồm nhiều chương trình con, mang tính cấu trúc cao và ít lỗi hơn

 Các biến có thể được xử lý cục bộ trong các chương trình con mà không ảnh hưởng lẫn nhau

 Tiếp cận theo hướng từ trên xuống (Top-Down)

Lập trình thủ tục

Trang 12

Chương 1 Phương pháp lập trình hướng đối tượng

Lập trình thủ tục

Cấu trúc chương trình theo thủ tục, trong chương trình

chính có các lời gọi thực hiện các thủ tục với các đối số

Trang 13

 Ưu điểm:

 Chương trình có tính cấu trúc cao

 Dễ cài đặt và ít lỗi hơn

Trang 14

Chương 1 Phương pháp lập trình hướng đối tượng

 Các thủ tục có cùng một chức năng chung sẽ được nhóm lại với nhau tạo thành một module riêng biệt

 Một chương trình được chia thành nhiều module

 Mỗi module có dữ liệu riêng của nó

Lập trình module

Trang 15

Lập trình module

Lập trình module Chương trình chính là sự kết hợp giữa các lời gọi tới các thủ tục trong các module riêng biệt với các dữ liệu thích hợp

Trang 16

Chương 1 Phương pháp lập trình hướng đối tượng

 Ưu điểm:

 Chương trình có tính cấu trúc cao

 Dữ liệu được kiểm soát trong từng module

 Có thể tái sử dụng module cho nhiều chương trình

 Khuyết điểm

 Khi thay đổi cấu trúc dữ liệu thì phải viết lại module

 Với các chương trình lớn, mỗi module có thể do nhiều lập trình viên đảm trách có thể dẫn đến thiếu nhất quán trong việc sử dụng các dữ liệu dùng chung

Lập trình module

Trang 17

Lập trình hướng đối tượng (OOP-

Trang 18

Chương 1 Phương pháp lập trình hướng đối tượng

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

Cấu trúc chương trình được xây dựng trên nền tảng các đối tượng, trong chương trình các đối tượng giao tiếp với nhau bằng cách chuyển thông điệp (gọi hàm)

Trang 19

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

 Trong OOP

 Dữ liệu được xem như một phần tử chính yếu và được bảo vệ

 Hàm gắn kết với dữ liệu, thao tác trên dữ liệu

 Phân tách bài toán thành nhiều thực thể (đối tượng)  xây dựng dữ liệu + hàm cho các đối tượng này.

 Tăng cường khả năng sử dụng lại mã nguồn

Ưu điểm của lập trình hướng đối tượng

Trang 20

Chương 1 Phương pháp lập trình hướng đối tượng

 Nhấn mạnh trên dữ liệu hơn là thủ tục

 Các chương trình bao gồm các đối tượng

 Dữ liệu được che giấu và không thể được truy xuất từ các hàm bên ngoài

 Các đối tượng có thể giao tiếp với nhau thông qua các hàm

 Dữ liệu hay các hàm mới có thể được thêm vào khi cần

 Tiếp cận từ dưới lên (Bottom – Up)

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

Trang 21

 Kiểu dữ liệu trừu tượng (ADT_Abstract Data Type)

 Đối tượng (Object) và lớp đối tượng (Class)

 Đóng gói (Encapsulation) và ẩn thông tin

Trang 22

Chương 1 Phương pháp lập trình hướng đối tượng

 Một kiểu dữ liệu trừu tượng là một mô hình toán học của các đối tượng dữ liệu tạo thành một kiểu dữ liệu và các toán tử (phép toán) thao tác trên các đối tượng đó

 Kiểu dữ liệu trừu tượng: T = <V, O>

 V (Values - miền giá trị): tập hợp các giá trị mà kiểu T

có thể nhận

 O (Operators – các thao tác): tập hợp các thao tác

được định nghĩa trên V

Kiểu dữ liệu trừu tượng

Trang 23

Ví dụ về kiểu dữ liệu trừu tượng: Số nguyên.

Dữ liệu: một tập các chữ số 0-9 và một dấu tiền tố

là + hoặc - Chúng ta ký hiệu cả số là N

Trang 24

Chương 1 Phương pháp lập trình hướng đối tượng

 Một đối tượng thế giới thực là một thực thể cụ

thể mà thông thường bạn có thể sờ, nhìn thấy hay

 Mỗi đối tượng có các đặc điểm (feature), trạng thái (state) và khả năng thực hiện hành vi (behaviour)

 Ví dụ : một con cọp có:

* Đặc điểm: màu lông, số chân, cân nặng

* Trạng thái: vui vẻ, giận dữ, no, đói

* Hành vi: ăn, ngủ, chạy, vồ mồi

Đối tượng (Object)

Trang 25

 Các đối tượng phần mềm có thể được dùng để

biểu diễn các đối tượng thế giới thực.

 Mỗi đối tượng phần mềm cũng có các đặc điểm, trạng thái và hành động

 Đặc điểm: thuộc tính (property)

 Hành động: phương thức (method)

 Trạng thái: sự kiện (event)

Đối tượng= dữ liệu + phương thức

Đối tượng (Object)

Trang 26

Chương 1 Phương pháp lập trình hướng đối tượng

 Trong thế giới thực có nhiều đối tượng cùng lớp.

Trang 27

 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

Ví dụ: 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 đó

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

 Ví dụ: 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

 Ví dụ: một xe đạp có thể đang ở bánh răng thứ 5 trong khi một xe khác có thể là đang ở bánh răng thứ 3

Định nghĩa lớp

Trang 28

Chương 1 Phương pháp lập trình hướng đối tượng

Khai báo cho lớp

XeDap

Đối tượng của lớp

XeDap

Ví dụ lớp xe đạp

Trang 29

Thuộc tính lớp (class attribute) là một hạng

mục dữ liệu được định nghĩa bên trong lớp nhằm mô tả đặc điểm của lớp và được gọi là dữ liệu thành viên (member data)

Phương thức lớp (class method) là một hàm

được định nghĩa bên trong lớp nhằm thực hiện một hành động cụ thể của lớp, các phương thức còn được gọi là hàm thành viên (member function)

Thuộc tính và phương thức của lớp

Trang 30

Chương 1 Phương pháp lập trình hướng đối tượng

 Để yêu cầu đối tượng cung cấp thông tin hoặc thực hiện một hành động ta truyền một thông điệp (send message) cho nó

Thông điệp (message) bao gồm 3 thành phần:

 Đối tượng nhận thông điệp

 Tên của phương thức thực hiện

Trang 31

Đóng gói (encapsulation) là tiến trình che giấu

dữ liệu và việc thực thi chi tiết của một đối tượng

Tính đóng gói

Ví dụ: Bạn sử dụng máy tính

để thực hiện rất nhiều công việc khác nhau mà không cần quan tâm bên trong máy tính hoạt động ra sao? Nó điều khiển các thiết bị như thế nào ?

Trang 32

Chương 1 Phương pháp lập trình hướng đối tượng

 Đóng gói giúp bảo vệ các thuộc tính và các phương thức được cài đặt bên trong lớp khỏi sự can thiệp của các đối tượng khác ở bên ngoài

Việc che giấu những chi tiết thiết

kế và cài đặt từ những đối tượng

khác được gọi là

ẩn thông tin

Ẩn thông tin (Information Hiding)

Trang 33

 Hệ thống hướng đối tượng cho phép các lớp được định nghĩa kế thừa từ các lớp khác

thừa kế từ lớp xe đạp.

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

hay lớp cha (Parent class)

hoặc lớp con (Subclass)

Tính thừa kế (Inheritance)

Trang 34

Chương 1 Phương pháp lập trình hướng đối tượng

Đa hình: “nhiều hình thức”, hành động cùng tên

có thể được thực hiện khác nhau đối với các đối tượng/các lớp khác nhau

Trang 35

Lịch sử phát triển các ngôn ngữ

Ngày đăng: 26/10/2014, 23:00

TỪ KHÓA LIÊN QUAN

w