Cộng đồng chia sẻ tri thức Lib24.vn

2.2. Khái niệm về hướng đối tượng

Gửi bởi: Đỗ Thị Ngọc Dung 19 tháng 2 2020 lúc 11:01:59


Mục lục
* * * * *

Để thấy quan điểm về hướng đối tượng, hãy xét m ột vật trong thế giới thực là chiếc ghế. Ghế là một phần tử, hay là một thể hiện của lớp rộng hơn gọi là đồ đạc. Một tập các thuộc tính liên kết với đối tượng trong lớp đồ đạc, chẳng hạn giá thành, kích thước, trọng lượng, vị trí và mầu sắc. Những điều này được áp dụng mỗi khi người ta nói về cái bàn hay cái gh ế, tủ…. Bởi vì ghế là thành viên của lớp đồ đạc, nó thừa kế tất cả các thuộc tính đã xác định cho lớp.

Mỗi đối tượng trong lớp đồ đạc có thể được xử lý theo nhiều cách. Mỗi phép xử lý này sẽ thay đổi một hay nhiều thuộc tính của đối tượng và chúng được gọi là dịch vụ hay phương pháp trên đối tượng.

Các đối tượng sẽ bao bọc:

-  Dữ liệu thông qua giá trị thuộc tính.

-  Các phép toán như các hoạt động có tác d ụng thay đổi giá trị thuộc tính.

-  Các đối tượng khác, như là các đối tượng phức tạp.

-  Các hằng số, như các giá trị mặc định.

-  Các thông tin liên quan.

Việc bao bọc thông tin của các đối tượng có nghĩa là tất cả thông tin này được thu gọn lại dưới một tên và có th ể được dùng như một đặc tả hay một thành phần chương trình.

2.2.1. Đối tượng

Khái niệm về đối tượng là khái ni ệm sinh ra từ việc nhận thức thế giới thực. Một đối tượng có các đặc tính sau:

-  Mang tên duy nhất, không thay đổi.

-  Thuộc về một lớp.

-  Có th ể gửi các thông báo đến các đối tượng khác.

-  Có tr ạng thái riêng.

Định nghĩa 2.1. Đối tượng là một thực thể có vai trò xác định rõ ràng trong l ĩnh vực ứng dụng, có tr ạng thái, hành vi và được xác định tên.

Ví dụ về các đối tượng thuộc lớp Người. Chúng liên lạc với nhau thông qua thông báo. Thông báo là d ạng các thao tác áp dụng lên đối tượng. Thao tác trong môi trường hướng đối tượng được gọi là phương pháp. Chẳng hạn phương pháp kết hôn tác động lên đối tượng để biết đối tượng này kết hôn với ai.

Định nghĩa 2.2. Trạng thái bao gồm tính chất của đối tượng, như là thuộc tính và các m ối quan hệ, và những giá trị gán cho các tính chất đó.

Định nghĩa 2.3. Phép toán là m ột hàm số hay một dịch vụ mà tất cả các thể hiện của lớp đều chấp nhận.

Định nghĩa 2.4. Phương pháp là việc thực hiện của một phép toán.

Hành vi và c ấu trúc của một đối tượng trong môi trường lập trình hướng đối tượng hoàn toàn do lớp đối tượng xác định. Lớp là khái ni ệm cơ bản trong tiếp cận hướng đối tượng.

Định nghĩa 2.5. Hành vi là thể hiện cách thức tác động của một một đối tượng.

2.2.2. Lớp đối tượng

Một lớp đối tượng có giao diện và miền riêng. Giao diện của đối tượng là cái mà các đối tượng khác thấy được. Giao diện lớp đối tượng gồm hai thành phần sau:

1.   Thuộc tính của lớp: Trong chừng mực nào đó các thuộc tính của lớp được coi tương đương với các thuộc tính của quan hệ. Đương nhiên thông qua thuộc tính lớp người ta có thể thể hiện các liên kết giữa các đối tượng, hay trong lớp cũng có thuộc tính ảo, chẳng hạn thuộc tính tuổi có giá tr ị tùy thu ộc vào thuộc tính ngày sinh. Đối với lớp, không có hạn chế gì về cách thức cấu trúc thuộc tính hay cách liên kết với nhau. Các thuộc tính có thể là đối tượng, dùng để tạo đối tượng phức tạp hơn. Người ta không xử lý trực tiếp các giá trị thuộc tính của đối tượng mà xử lý thông qua các phương pháp liên kết với lớp đối tượng.

2.   Phương pháp gắn với lớp đối tượng: Các thông báo chuyển đến lớp đối tượng nhờ phương pháp gắn với lớp đối tượng. Chúng thường có dạng các phép toán, các hàm với các tham số. Các đối tượng trong một lớp chỉ có thể được truy cập thông qua các phương pháp. Tại mức giao diện, phần hiện rõ là tên ph ương pháp và các tham số cần cho phương pháp này.

Định nghĩa 2.6. Lớp đối tượng là tập các đối tượng có chung cấu trúc và hà nh vi.

Định nghĩa 2.7. Sơ đồ lớp cho biết cấu trúc tĩnh của mô hình hướng đối tượng, đó là các l ớp đối tượng, cấu trúc bên trong của chúng, và mối quan hệ mà chúng tham gia.

Miền riêng của lớp đối tượng là phần xác định lớp, nhưng không hiện ra cho đối tượng khác thấy. Miền này có th ể gồm các thông tin chi tiết về cấu trúc của lớp đối tượng. Trong chương trình người ta có thể cài đặt che giấu các giá trị, ngay cả các liên kết cũng bị che giấu, cũng như không thấy được các thông báo. Việc bảo vệ thông tin làm việc bên trong cùng v ới các giá trị đối tượng trước các sử dụng thông thường này được gọi là che dấu thông tin.

Một khái niệm quan trọng trọng trong OOP là bao bọc, có nghĩa mọi vấn đề về đối tượng đều được nhận biết thông qua định nghĩa lớp đối tượng. Người ta truy cập khái niệm nhờ giao diện lớp và xác định các hành vi thông qua vi ệc xác định lớp.

Định nghĩa 2.8. Sơ đồ đối tượng là đồ thị gồm các thể hiện của đối tượng, tương thích với sơ đồ lớp.

Định nghĩa 2.9. Bao gói, hay bao bọc là kĩ thuật che giấu, làm ẩn những chi tiết về cài đặt bên trong của đối tượng đối với các truy cập từ bên ngoài.

2.2.3. Cá thể

Cá thể hóa là quá trình khẳng định sự tồn tại của các đối tượng trong môi trường hướng đối tượng, bằng việc xác định lớp của chúng. Mỗi đối tượng là một cá thể của lớp; thường được dùng với thuật ngữ thể hiện của lớp.

2.2.4. Kế thừa

Khái niệm kế thừa là khái ni ệm quan trọng trong tiếp cận hướng đối tượng. Người ta thường dụng thuật ngữ này khi chỉ định lớp đối tượng này tiếp thụ, thừa kế các thuộc tính của lớp đối tượng khác. Tuy nhiên m ỗi lớp con có thể mạng một số thuộc tính hay phương pháp riêng.

Định nghĩa 2.l0. Kế thừa là tính chất cho phép các lớp con kế thừa những thuộc tính, phép toán của lớp cha.

Việc kế thừa nhiều lần xẩy ra khi một lớp kế thừa từ nhiều lớp.


Được cập nhật: 23 tháng 4 lúc 15:51:14 | Lượt xem: 490