1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 1 Trần Minh Thái (2017)

55 758 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 55
Dung lượng 0,9 MB

Nội dung

Bài giảng Lập trình hướng đối tượng (dùng Java) Chương 1 Tổng quan về lập trình hướng đối tượng cung cấp cho người học các kiến thức về lịch sử các phương pháp lập trình; phương pháp lập trình hướng cấu trúc, thủ tục; các đặc trưng cơ bản của lập trình hướng đối tượng; một số ngôn ngữ lập trình hướng đối tượng. Mời các bạn cùng tham khảo.

Trang 1

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

( O bject O riented P rogramming)

Trang 2

Tài liệu tham khảo

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

2 Liang, Y Daniel, “Introduction to Java programming”, 6th edition, Pearson Prentice Hall,

2007

3 Richard L Halterman, “Object Oriented Programming in Java”, 2008

4 Bruce Eckel, “Thinking in Java”, 4th edition, 2006

5 J Barker, “Beginning Java Objects – From concept to code”, 2nd edition, 2005

6. C.S.Horsmann, G Cornell, “Core Java 2”, 2002

Trang 3

Chương 5 Lập trình giao diện với Java

Chương 6 Lập trình đa luồng

Trang 4

Đánh giá môn học

Thực hiện đồ án và vấn đáp (1 – 2 sinh viên/ đồ án)

 Quyển báo cáo (file word): 3đ

Trang 5

Đăng ký nhóm và đề tài

Thời gian: Chậm nhất ngày 24/02/2017

Cách thức đăng ký: Điền thông tin theo mẫu trên web www.minhthai.edu.vn Các đề tài:

 Ứng dụng

 Game

 Các tiện ích

Trang 6

Cấu trúc quyển báo cáo

Thứ tự nội dung (trình bày ở các trang khác nhau)

Trang 7

Font chữ: Times New Roman

Kích thước font chữ: Tên chương: 15 (in đậm, canh center), tiêu đề: 13 (in đậm, canh left), nội dung: 13 (in thường, canh justify)

Đánh số nội dung: Sử dụng số tự nhiên (tối đa 3 cấp) Ví dụ: Chương 1, mục 1: 1.1, cấp 2 của 1.1

là 1.1.1, cấp 3 là 1.1.1.1

Lưu ý: Các mục lục, danh mục các bảng, danh mục các hình, đánh tài liệu tham khảo phải dùng tool tự động của MS Word

Trang 8

Nội dung các chương

Tối thiểu phải gồm các chương sau

1. Mở đầu

2. Phân tích

3. Thiết kế

4. Thử nghiệm kết quả

Trang 9

3. Phương pháp lập trình hướng cấu trúc, thủ tục

4. Các đặc trưng cơ bản của lập trình hướng đối tượng

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

Trang 10

Vì sao học lập trình hướng đối tượng?

Object Oriented Programming (OOP) là phương pháp lập trình quan trọng

• Tất cả ngôn ngữ hiện đại đều object oriented hay hỗ trợ object và class

• Các framework, library, API hiện đại đều object oriented

• NET Framework Class Library (C#), Java API classes (Java),

• Laravel (PHP), Rails (Ruby),

• STL (C++), Django (Python), Android, …

• Bất kỳ ai bắt đầu công việc phát triển phần mềm nên làm quen với OOP OO modeling

Trang 11

CÁC PHƯƠNG PHÁP LẬP TRÌNH

Trang 12

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

• Các hướng dẫn, các bước để viết một chương trình trên máy tính

• Có cách “nhìn” về việc xây dựng các chương trình máy tính

Trang 14

Lịch sử của PPLT

• C++/C#/Java/v.v… là NNLT để viết chương trình

• PPLT 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 17

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 18

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

 Có những đoạn lệnh được viết lặp đi lặp lại nhiều lần

Trang 19

• Các cấu trúc lệnh: lệnh điều kiện, lệnh lặp

• 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

• Loại bỏ/ hạn chế lệnh goto

Trang 20

Lập trình có cấu trúc

• Khuyết điểm:

• Khó phân công cho nhiều người cùng viết

• Dữ liệu được “thả tự do”

• Có những đoạn lệnh được viết lặp đi lặp lại nhiều lần

Trang 21

Lập trình thủ tụ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

 Lập trình là xây dựng các thủ tục/ hàm

 Kết quả là hệ thống cấu trúc và mối quan hệ giữa các hàm/ thủ tục

 Tiêu biểu là ngôn ngữ Pascal, C

Trang 22

Lập trình thủ tục

 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)

 Tiếp cận theo phương pháp top-down

Trang 23

Lập trình thủ tụ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 24

Lập trình thủ tục: Đặc điểm

Khuyết điểm

 Khi thay đổi dữ liệu thì phải thực hiện các thay đổi ở mọi đơn thể có tác động trên chúng

 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 25

Lập trình thủ tục: Đặc điểm

Khuyết điểm

 Sai sót trong việc trao đổi thông tin giữa các thành viên trong nhóm có thể mất nhiều thời gian

để sửa chữa chương trình

 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 26

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

(Object-oriented Programming)

 Tư duy mới, tiếp cận theo hướng đối tượng để giải các bài toán trên máy tính

 Thiết kế và phát triển phần mềm dựa trên kiến trúc lớp và đối tượng

Inheritance

OOP

Reusability Extensibility

Security Flexibility

Trang 27

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

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

(Object-oriented Programming)

Trang 28

Mục tiêu

 Phân tách bài toán thành nhiều đối tượng và yêu cầu chúng thực hiện hành động của mình

 Tăng cường khả năng tái sử dụng code

 Tiếp cận bottom-up

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

(Object-oriented Programming)

Trang 29

Ưu điểm

• Cung cấp một cấu trúc module rõ ràng: Giao diện định nghĩa rõ ràng và chi tiết cài đặt ẩn

• 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

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

(Object-oriented Programming)

Trang 30

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Trang 31

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

Trừu tượng hóa

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

Trang 33

Sự trừu tượng hoá

Thế giới thực PPLT Ngôn ngữ lập trình

Đối tượng trong thế giới thực Đối tượng Biến có kiểu cấu trúc

Khái niệm chung về đối tượng Lớp đối tượng Kiểu dữ liệu cấu trúc

Cá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

Tương tác giữa các đối tượng Truyền thông điệp Gọi thực hiện phương thức

Trang 34

Đối tượng (Object)?

Trang 36

6.36

Đối tượng Phần mềm

(Software Object)

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

Trạng thái: thuộc tính (attribute/

property)

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

Trang 37

Đối tượng Phần mềm

Đối tượng (object) là một thực thể phần

mềm bao bọc các thuộc tính và các

phương thức liên quan

Đối tượng phần mềm Đối tượng phần mềm Xe Đạp

Thuộc tính được xác định bởi giá trị cụ thể gọi là thuộc tính thể hiện

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

Trang 38

KHÁI NIỆM LỚP (class)

VÀ ĐỐI TƯỢNG (object)

Trang 39

Lớp?

• 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 40

Lớp?

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

Trang 41

Đối tượng?

• Một đối tượng là một thể hiện (instance) 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 giá trị thuộc tính khác nhau

• VD: một xe đạp có thể đang chạy ở vận tốc 15 mph/ một xe khác có thể là đang chạy ở vận tốc 10 mph

Trang 42

6.42

Ví dụ

Khai báo cho lớp XeDap

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

Trang 43

Các thành phần trong 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 44

Tương tác giữa các đối tượng

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

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

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

 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 45

CÁC ĐẶC TÍNH CỦA

LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

Trang 46

Các đặc tính của hướng đối tượng

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

Ẩn thông tin (Information Hiding)

Giao tiếp (Interface)

2. Tính thừa kế (Inheritance)

3. Tính đa hình (Polymorphism)

Trang 47

Tính đóng gói

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

Trang 48

Tính đóng gói

Giao tiếp: Cung cấp các phương thức cần thiết

để sử dụng đối tượng

Trang 49

Ẩn thông tin

Cách thức 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 50

Tính thừa kế

Animals

Trang 51

6.51

Tính thừa kế

• 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 54

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

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

Trang 55

Q&A

Ngày đăng: 15/05/2017, 10:28

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w