Phân tích các đối tượng và thiết kế lớp

Một phần của tài liệu Bài giảng kỹ thuật lập trình hướng Đối tượng it07 Đại học mở hà nội (Trang 46 - 50)

BÀI 3: LẬP TRÌNH LỚP VÀ ĐỐI TƯỢNG

1. Phân tích các đối tượng và thiết kế lớp

2. Cài đặt lập trình lớp – class.

3. Lập trình đối tượng – object.

Nội dung:

1. Phân tích các đối tượng và thiết kế lớp

Chúng ta có thể xem lớp như một khuôn mẫu (template) của đối tượng (Object). Trong đó bao gồm dữ liệu của đối tượng (thuộc tính - properties) và các hàm thành viên (phương thức - methods) tác động lên thành phần dữ liệu đó. Các đối tượng được xây dựng bởi các lớp nên được gọi là các thể hiện của lớp (class instance).

Trong hầu hết các lớp, các biến thể hiện được truy cập bởi các phương thức định nghĩa trong lớp đó. Vì vậy, chính các phương thức quyết định dữ liệu của lớp

có thể dùng như thế nào. Lớp định nghĩa một kiểu dữ liệu mới, dùng để tạo các đối tượng thuộc kiểu lớp đó, mỗi đối tượng có vùng nhớ riêng.

Chúng ta đã biết Lập trình hướng đối tượng (Object Oriented Programming - OOP) là một trong những tiếp cận mạnh mẽ, và rất hiệu quả để xây dựng nên những chương trình ứng dụng trên máy tính. Từ khi ra đời cho đến nay lập trình OOP đã chứng tỏ được sức mạnh, vai trò của nó trong các đề án tin học. Chương này sẽ giúp bạn đọc tìm hiểu về các vấn đề cơ bản về lập trình hướng đối tượng trong java thông qua việc tạo lập các lớp, các đối tượng và các tính chất của chúng.

Minh họa giữa lớp và đối tượng như sau:

Lớp(class)

Đối Đối Đối

Một lớp sau khi được định nghĩa, chúng ta có thể tạo ra nhiều đối tượng và xử

lý trên các đối tượng đó thực hiện yêu cầu đặt ra. Đối tượng là cái tồn tại có thật trên máy, chiếm một dung lượng bộ nhớ nhất định của máy tính, còn lớp chỉ tồn tại

ở mức khái niệm.

Lớp không thay đổi, trong khi dữ liệu chứa trong một đối tượng có thể thay đổi. Các thuộc tính của lớp được thiết lập trong suốt thời gian chay chương trình, không thể thêm bớt thuộc tính trong lúc chương trình đang chạy. Khi một đối tượng được tạo từ một lớp, nó sẽ là một thành phần của lớp đó cho đến khi bị huỷ bỏ. Sự tồn tại của đối tượng có hạn chế, đối tượng sẽ được tạo ra và hủy bỏ theo đúng trình tự.

1.1. Phân tích đối tượng, thuộc tính và phương thức cho đối tượng (từ các thực thể dữ liệu hoặc từ bản mô tả)

Khi phân tích và phát triển một hệ thống phần mềm hướng đối tượng, chúng ta thường thực hiện theo các bước sau:

 Phân tích yêu cầu (Requirement analysis)

 Phân tích (Analysis)

 Thiết kế (Design)

 Lập trình (Programming)

 Kiểm tra (Testing)

Phân tích yêu cầu: Việc tìm hiểu các trường hợp sử dụng (use case) để nắm

bắt các yêu cầu của người sử dụng (khách hàng), của vấn đề cần giải quyết. Qua trường hợp sử dụng này, các nhân tố bên ngoài có tham gia vào hệ thống cũng được

mô hình hóa bằng các tác nhân. Mỗi trường hợp sử dụng được mô tả bằng văn bản, đặc tả yêu cầu của khách hàng.

Phân tích: Từ các đặc tả yêu cầu trên, hệ thống sẽ bước đầu được mô hình hóa

bởi các khái niệm lớp, đối tượng và các cơ chế để diễn tả hoạt động của hệ thống. Trong giai đoạn phân tích chúng ta chỉ mô tả các lớp trong lĩnh vực của vấn đề cần giải quyết chứ chúng ta không đi sâu vào các chi tiết kỹ thuật.

Thiết kế: Trong giai đoạn thiết kế, các kết quả của quá trình phân tích được mở

rộng thành một giải pháp kỹ thuật. Một số các lớp được thêm vào để cung cấp cơ sở

hạ tầng kỹ thuật như lớp giao diện, lớp cơ sở dữ liệu, lớp chức năng, …

Lập trình: Đây còn gọi là bước xây dựng, giai đoạn này sẽ đặc tả chi tiết kết

quả của giai đoạn thiết kế. Các lớp của bước thiết kế sẽ được chuyển thành mã nguồn theo một ngôn ngữ lập trình theo hướng đối tượng nào đó.

Kiểm tra: Kiểm tra sự hoạt động, tương tác giữa các đối tượng, sự đáp ứng các

chức năng người dùng yêu cầu,…

Để hiểu được kỹ thuật lập trình hướng đối tượng, trước hết chúng ta cần nắm vững khái niệm đối tượng. Bạn có thể nhìn xung quanh và thấy được nhiều đối tượng trong thế giới thực như: cái bàn, quyển vở, cây viết, tivi, xe hơi, con gà,... Trong một hệ thống hướng đối tượng, mọi thứ đều là đối tượng. Cụ thể, khi sử dụng máy tính, ta thường nhìn thấy rất nhiều đối tượng như: một bảng tính, một ô trong bảng tính, một biểu đồ, một bảng báo cáo, một con số hay một số điện thoại, một tập tin, một thư mục, một máy in, một câu hoặc một từ, thậm chí một ký tự, tất cả chúng là những ví dụ của một đối tượng. Rõ ràng chúng ta viết một chương trình hướng đối tượng cũng có nghĩa là chúng ta đang xây dựng một mô hình của một vài

bộ phận trong thế giới thực. Tuy nhiên các đối tượng này có thể được biểu diễn hay

mô hình trên máy tính.

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 cảm nhận được. Tất cả các đối tượng trong thế giới thực đều có thuộc tính (property) và hành động (behaviour). Tuy nhiên, việc lưu trữ và xử lý các đối tượng của thế giới thực trên máy tính cần được thay đổi chút ít cho phù hợp (biểu diễn – mô hình hóa) các đối tượng thế giới thực bằng các đối tượng phần mềm). Ví dụ, với đối tượng “Xe máy”, chúng ta có thể mô hình hóa bằng đối tượng phần mềm như sau:

Thuộc tính Hành động

Xe máy

 Nhãn hiệu

 Kiểu dáng

 Màu sắc

 Dung tích xi lanh

 Năm sản xuất

 Giá thành

 Khởi động

 Di chuyển

 Chuyển số

 Phanh

 Nhập thông tin

 Sửa màu sắc

 Sửa giá thành Xét một cách đặc biệt, chỉ một đối tượng riêng rẽ thì chính nó không hữu dụng. Một chương trình hướng đối tượng thường gồm có hai hay nhiều hơn các đối tượng phần mềm tương tác lẫn nhau như là sự tương tác của các đối tượng trong trong thế giới thực.

1.2. Phân tích tương tác giữa các đối tượng (message)

Khi muốn một hành động cụ thể nào đó của đối tượng được thực hiện, ta gửi một thông điệp (message) tới đối tượng, thông điệp này định nghĩa hoạt động của đối tượng.

Khi một đối tượng nhận được một thông điệp, nó thực hiện một phương thức tương ứng. Ví dụ, một đối tượng được tạo từ lớp “Xe máy” trên, muốn nhập thông tin chi tiết cho các thuộc tính của một thể hiện cụ thể của lớp xe máy, ta gửi tới đối tượng thông điệp. Khi đối tượng nhận được thông điệp, nó sẽ tìm và thực thi phương thức “Nhập thông tin”.

Trong trường hợp giữa 2 đối tượng muốn tương tác với nhau, các đối tượng này cần gửi các thông điệp cho nhau. Ví dụ, đối tượng “khách hàng” muốn biết thông tin về giá thành của một đối tượng xe máy cụ thể sẽ gửi yêu cầu (thông điệp), và khách hàng cũng sẽ nhận được thông tin về giá cả thông qua một thông điệp được gửi lại từ đối tượng “Xe máy”.

Đôi khi đối tượng nhận cần thông tin nhiều hơn để biết chính xác thực hiện công việc gì. Ví dụ khi cần sửa đổi màu sơn của một đối tượng xe máy cụ thể thì ngoài việc gửi thông điệp yêu cầu sửa, chúng ta phải chỉ rõ mầu sơn mới, thông tin này được truyền đi kèm theo thông điệp và được gọi là các tham số (parameters).

1.3. Thiết kế các lớp đối tượng

Một lớp là một mô hình khái niệm về một thực thể. Nó mang tính cách tổng quát chứ không mang tính cách đặc thù.

Khi định nghĩa một lớp, chúng ta muốn phát biểu rằng một lớp sẽ phải có một tập hợp các thuộc tính và các hành động riêng. Chẳng hạn như một định nghĩa lớp

“Con người” dưới đây:

Con người

Họ tên Ngày sinh Chiều cao

Đi Đứng Nói

Lớp này định nghĩa thực thể ‘Con người’. Mọi thực thể thuộc kiểu ‘Con người’

sẽ đều có những đặc tính và những hành động như đã được định nghĩa.

Một khi một lớp đã được định nghĩa, chúng ta biết được những thuộc tính và những hành động của những thực thể ‘trông giống’ như lớp này. Vì thế, một lớp, bản chất của nó là một nguyên mẫu (prototype).

K G hách hàng

4 X

e máy

Một phần của tài liệu Bài giảng kỹ thuật lập trình hướng Đối tượng it07 Đại học mở hà nội (Trang 46 - 50)

Tải bản đầy đủ (PDF)

(204 trang)