1. Trang chủ
  2. » Địa lý lớp 12

LTDHT - Bai 1 - Gioi thieu

35 9 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 862,64 KB

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

Nội dung

Một lớp đối tượng được đặc trưng bằng các thuộc tính, và các hoạt động (hành vi, thao tác).  Thuộc tính (attribute) là một thành phần của đối tượng, có giá trị nhất định cho mỗi đối [r]

Trang 3

Object-oriented programming 3

Mục tiêu của kỹ sƣ phần mềm

 Tạo ra sản phẩm tốt một cách có hiệu quả

 Nắm bắt được công nghệ

Trang 4

4

Độ phức tạp, độ lớn PM ngày càng cao

 Một số hệ Unix chứa khoảng 4 triệu dòng lệnh

 MS Windows chứa hàng chục triệu dòng lệnh

 Người dùng ngày càng đòi hỏi nhiều chức năng, đặc biệt là

chức năng thông minh

 Phần mềm luôn cần được sửa đổi

Trang 5

 Giải pháp chính là sử dụng lại (tái sử dụng)

 Giảm chi phí và thời gian phát triển

 Nâng cao chất lượng

Trang 7

Object-oriented programming 7

Kỹ thuật lập trình truyền thống & HĐT

Phương pháp lập trình truyền thống

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

Ưu điểm của lập trình OOP so với lập trình truyền thống

Phương pháp phân tích bài toán theo tiếp cận hướng đối tượng

Trang 8

8

1 Phương pháp lập trình truyền thống

Lập trình không có cấu trúc (unstructured programming)

 Là phương pháp xuất hiện đầu tiên

 Các ngôn ngữ như Assembly, Basic

 Sử dụng các biến toàn cục

 Lạm dụng lệnh GOTO

 Không sử dụng hàm, viết tất cả trong một hàm main()

Trang 9

Object-oriented programming 9

Lập trình không có cấu trúc

 Cho phép viết những đoạn mã rối rắm (spaghetti code)

 Lập trình viên sử dụng các lệnh goto” và “gosub” để nhảy đến mọi nơi trong chương trình

Trang 10

10

Lập trình không có cấu trúc

Nhƣợc điểm:

 Gặp khó khăn khi xây dựng các chương trình lớn

 Hầu như không thể sử dụng lại

 Những dòng lệnh được lặp lại thì buộc phải copy thành nhiều

chỗ

 Chương trình sẽ không khoa học, khó sửa chữa và bảo trì

Trang 11

 Mỗi thủ tục sẽ có chức năng riêng biệt

 Các thủ tục có thể gọi qua lại lẫn nhau

Chương trình = Cấu trúc dữ liệu + Giải thuật

Trang 12

int a, b, t;

a = 5, b = 10;

int t = LuyThuy(a,b); printf(“Kq: %d”,t);

return 0;

}

 Mã chương trình tập trung thể hiện thuật toán: làm như thế nào

Trang 13

Object-oriented programming 13

Ƣu điểm:

 Chương trình được tổ chức khoa học, dễ quản lý, bảo trì

 Giải quyết được nhiều bài toán lớn

Nhóm các thủ tục theo các chức năng: Lập trình module

Nhƣợc điểm:

 Cách tiếp cận đôi khi chưa phù hợp với các hoạt động

trong thế giới thực

 Diễn đạt thiếu tự nhiên

 Khó mô tả những quan hệ phức tạp của thế giới tự nhiên

 Bảo mật kém

Trang 14

void setDate(Date& date, int newDay,

int newMonth, int newYear) {

date.day = newDay;

}

Chuyện gì xảy ra nếu các đối số

newDay, newMonth, newYear

tạo thành ngày tháng năm không hợp lệ?

Trang 15

Object-oriented programming 15

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

Lập trình hướng đối tượng (Object-oriented programming)

 Dữ liệu, chức năng thao tác trên dữ liệu được gom lại thành 1

đối tượng

 Chương trình không dựa trên chức năng mà dựa trên đối

tượng

Trang 16

16

2 Lập trình hướng đối tượng (tt)

 Dữ liệu được gắn chặt với các hàm riêng

• Chỉ có các hàm đó tác động lên,

• Các hàm bên ngoài không thể truy cập

 Cho phép phân tích bài toán thành:

• Các thực thể (đối tượng)

• Xây dựng các dữ liệu cùng các hàm xung quanh các đối

tượng

Trang 17

Object-oriented programming 17

2 Lập trình hướng đối tượng (tt)

 Lập trình hướng đối tượng cho phép khắc phục các hạn

chế của các phương pháp trước

Trang 18

18

 Dựa trên ý tưởng

 Xem thế giới là tuyển tập các đối tượng

Dữ liệu + chức năng/xử lý => đối tượng

(thuộc tính) (phương thức)

 Một đối tượng đóng bao cả dữ liệu và các

phương thức

2 Lập trình hướng đối tượng (tt)

Trang 20

20

2 Lập trình hướng đối tượng (tt)

Một số ngôn ngữ lập trình hướng đối tượng

 Xuất phát từ tư tưởng OOP của ngôn ngữ SIMULA67,

 Trung tâm nghiên cứu Palo Alto (hãng XEROR) nghiên cứu

ngôn ngữ OOP đầu tiên với tên Smalltalk

 Sau đó các ngôn ngữ OOP lần lượt ra đời như Eiffel, C++,

Delphi, Java, PHP, C#…

 XEROR đã đề ra tư tưởng giao diện biểu tượng trên màn hình (icon

base screen interface)

 Apple Macintosh, Microsoft Windows phát triển giao diện đồ họa

 Trong Microsoft Windows, tư tưởng OOP được thể hiện:

• Chúng ta click vào đối tượng

• Mỗi đối tượng có thể là control menu, control menu box,

menu bar, scroll bar, button, minimize box,

Trang 21

Object-oriented programming 21

Một số khái niệm

Lớp:

chung lại thành lớp đối tượng

đặc trưng bằng các thuộc tính, và các hoạt động (hành vi,

thao tác)

Thuộc tính (attribute) là một thành phần của đối tượng, có

giá trị nhất định cho mỗi đối tượng tại mỗi thời điểm trong hệ thống

Thao tác (operation) thể hiện hành vi của một đối tượng tác

động qua lại với các đối tượng khác hoặc với chính nó

Trang 22

22

Sơ đồ lớp và sơ đồ thể hiện

Sinh viên Họ tên

Năm sinh Mã số

Điểm TB

Đi học

Đi thi Phân loại

(Sinh viên) Nguyễn Văn A

1990 02.020.001 9.5

Trang 23

Object-oriented programming 23

Các đặc điểm quan trọng của OO

 Các lớp đối tượng - Classes

 Đóng gói – Encapsulation

 Kế thừa - Inheritance

 Đa hình - Polymorphism

Trang 24

24

Trừu tượng hóa

Cách nhìn khái quát hóa về một tập các đối tượng có chung các đặc điểm được quan tâm (bỏ qua các chi tiết không cần thiết)

Trang 25

Object-oriented programming 25

Đóng gói – Che dấu thông tin

Đóng gói: Nhóm những gì có liên quan với nhau vào làm một

 Các hàm/ thủ tục đóng gói các câu lệnh

 Các đối tượng đóng gói dữ liệu của chúng và các thủ tục có liên quan

Che giấu thông tin: đóng gói để che một số thông tin và chi

tiết cài đặt nội bộ để bên ngoài không nhìn thấy

 Che giấu những gì mà người dùng không cần

 Che giấu những gì mà mình cần giữ bí mật

Trang 26

26

Kế thừa

B, (giống như thuộc tính và thao tác đó đã được định nghĩa tại lớp A)

Trang 27

Object-oriented programming 27

Đa hình

 Cho phép một tên thao tác hoặc thuộc tính có thể được

định nghĩa tại nhiều lớp

 Có thể có nhiều cài đặt khác nhau tại mỗi lớp trong các lớp

đó

Trang 28

28

Một số thuật ngữ hướng đối tượng

 OOM (Object Oriented Methodology): Phương pháp luận hướng đối tượng

 OOA (Object Oriented Analysis): Phân tích hướng đối tượng

 OOD: Object Oriented Design (Thiết kế hướng đối tượng)

 OOP: Object Oriented Programming (lập trình hướng đối tượng)

 Inheritance: Kế thừa

 Polymorphism: Đa hình

 Encapsulation: Tính đóng gói

Trang 29

Object-oriented programming 29

3 Ƣu điểm của OOP

 Phân tích, thiết kế và phát triển một vấn đề trong khuôn khổ

những khái niệm và thuật ngữ thuộc lĩnh vực ứng dụng

 Vì thế, có một sự tương hợp cao nhất giữa việc phát triển ứng dụng và vấn đề thực tế

 Dễ mô tả các quan hệ phân cấp trong thế giới tự nhiên

Trang 30

30

3 Ƣu điểm của OOP

 Hỗ trợ việc chia sẻ bên trong một ứng dụng

 Tái sử dụng => giảm chi phí

 Giảm thiểu các lỗi => dễ bảo trì ứng dụng => do khả năng

tái sử dụng

 Tăng tốc tiến trình thiết kế và phát triển ứng dụng

Trang 31

Object-oriented programming 31

Ví dụ về tái sử dụng code

Trang 32

32

4 PP phân tích bài toán theo tiếp cận HĐT

 Mô hình hóa và thiết kế theo hướng đối tượng

 Suy nghĩ mới về vấn đề cần giải quyết dùng các mô hình

 Được tổ chức xung quanh các khái niệm trong thế giới

thực

 Trong một hệ thống thông tin hướng đối tượng, mọi thứ

được xem như các đối tượng

 Mỗi đối tượng là sự kết hợp:

 Cấu trúc dữ liệu (các thuộc tính)

 và hoạt động (các thủ tục xử lý dữ liệu)

Trang 33

Object-oriented programming 33

4 PP phân tích bài toán theo tiếp cận HĐT

 Kỹ thuật mô hình hoá OMT (Object Modeling Technique)

của J.Rumbaugh bao gồm các bước:

Trang 34

34

Lịch sử ngôn ngữ lập trình

Trang 35

35

Ngày đăng: 21/01/2021, 16:23

HÌNH ẢNH LIÊN QUAN

 Đa hình - Polymorphism - LTDHT - Bai 1 - Gioi thieu
a hình - Polymorphism (Trang 23)
 Kỹ thuật mơ hình hố OMT (Object Modeling Technique) của J.Rumbaugh bao gồm các bước:  - LTDHT - Bai 1 - Gioi thieu
thu ật mơ hình hố OMT (Object Modeling Technique) của J.Rumbaugh bao gồm các bước: (Trang 33)
w