Chương 2. Giới thiệu về hướng đối tượng và UML
2006
1
Nguyễn Trung Trực - Khoa CNTT
Chương 2
Giới thiệu về hướng đối tượng
và UML
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
2
Nguyễn Trung Trực - Khoa CNTT
Nội dung
Các đặc tính cơ bản của hệ thống hướng
đối tượng.
Giới thiệu các thuật ngữ đối tượng, lớp,
thuộc tính và phương thức.
Giới thiệu tính tổng quát hóa, tính đa hình
và tính thừa kế.
Định nghĩa mối liên kết.
Ngôn ngữ mô hình hóa hợp nhất (UML -
Unified Modeling Language).
Cách tiếp cận theo yêu cầu tối thiểu
(minimalist approach) để phân tích và thiết
kế hệ thống hướng đối tượng.
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
3
Nguyễn Trung Trực - Khoa CNTT
Các đặc tính cơ bản của
hệ thống hướng đối tượng
Các lớp và các đối tượng
Các phương thức và các thông điệp
Tính bao đóng và che giấu thông tin
Tính thừa kế
Tính đa hình và kết nối động
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
4
Nguyễn Trung Trực - Khoa CNTT
Ngôn ngữ mô hình hóa hợp nhất (UML)
Ký hiệu chuẩn để biểu diễn các hệ thống
hướng đối tượng.
Hình chữ nhật biểu diễn lớp, thành phần,
gói, đối tượng.
f
Chứa các thuộc tính và các tác vụ.
f
Cung cấp các giao tiếp cho các thực thể
ngoài.
Đường thẳng biểu diễn tính tổng quát hóa
và các mối liên kết.
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
5
Nguyễn Trung Trực - Khoa CNTT
Ngôn ngữ mô hình hóa hợp nhất (UML)
Sample UML Diagram
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
6
Nguyễn Trung Trực - Khoa CNTT
Đối tượng
Đối tượng (object) là một thực thể bao
gồm dữ liệu và hành vi (behavior).
f
Các đối tượng được phân loại thành các lớp
(class).
f
Mỗi đối tượng riêng biệt là một thể hiện
(instance) của một lớp.
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
7
Nguyễn Trung Trực - Khoa CNTT
Tính bao đóng và che giấu thông tin
Tính bao đóng (encapsulation)
f
Sự kết hợp dữ liệu và quá trình vào trong
một đối tượng.
Che giấu thông tin (information hiding)
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
8
Nguyễn Trung Trực - Khoa CNTT
Lớp
Lớp (class) là một loại các đối tượng có
cùng các thuộc tính, các tác vụ, các mối
liên kết và ngữ nghĩa.
Name
Attributes
Operations
An Illustration of a Class
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
9
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Thuộc tính (attribute) là một đặc tính được
đặt tên của một lớp, dùng để mô tả một
miền trị có thể gán cho các thể hiện của
thuộc tính này.
Các loại thuộc tính
f
Thuộc tính đơn (simple attribute)
f
Thuộc tính xác định (identifier)
f
Thuộc tính đa trị (multivalued attribute)
f
Thuộc tính phức hợp (composite attribute)
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
10
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Kiểu mở rộng (stereotype) là một thành
phần (construct) cho phép mở rộng từ
vựng của UML.
Các loại kiểu mở rộng trong sơ đồ lớp
f
Kiểu mở rộng khóa chính: <<PK>>.
f
Kiểu mở rộng đa trị: <<Multivalued>>.
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
11
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Attributes are
properties
containing values
Minus sign
indicates these
are private
(hidden)
A Class with Attributes
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
12
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Primary key is a unique
identifier; no two Student
instances will have the
same studentId value.
The Identifier shown by the Stereotype <<PK>>
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
13
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Multivalued attribute can
contain multiple values;
a student may have
several phone numbers
Attribute phoneNumber shown by the Stereotype <<Multivalued>>
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
14
Nguyễn Trung Trực - Khoa CNTT
Thuộc tính
Composite attributes have multiple sections (subattributes).
They are treated as separate classes in conceptual data models.
Attribute Address shown as a type Address
Composite attribute Address shown as a Class
Composite attribute Address shown as a Class
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
15
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp
Tác vụ (operation) là một hành vi của một
đối tượng.
Tác vụ được thể hiện trong các lớp là các
phương thức (methods).
f
Tương tự với một hàm hoặc một thủ tục.
Thông điệp (message) được gửi đến các
phương thức của đối tượng.
Tính sử dụng lại (reusability)
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
16
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp
Signature identifies and
invokes the behavior
Method implements the behavior
An Operation with Signature and Method Written in PL/SQL
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
17
Nguyễn Trung Trực - Khoa CNTT
Phương thức và thông điệp
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
18
Nguyễn Trung Trực - Khoa CNTT
Lớp và đối tượng
Method signatures
Plus sign indicates
these are public
(accessible)
A Class with Attributes and Operations
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
19
Nguyễn Trung Trực - Khoa CNTT
Lớp và đối tượng
Class
Class Student
Instances
Objects Maria and David of the Class Student
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
20
Nguyễn Trung Trực - Khoa CNTT
Lớp và đối tượng
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
21
Nguyễn Trung Trực - Khoa CNTT
Tính tổng quát hóa
Lớp cha (superclass, general class, parent
class)
Lớp con (subclass, specific class, child
class)
Tính tổng quát hóa (generalization)
Lớp con có thể có thêm các thuộc tính và
các phương thức riêng.
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
22
Nguyễn Trung Trực - Khoa CNTT
Tính tổng quát hóa
Class Hierarchy
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
23
Nguyễn Trung Trực - Khoa CNTT
Tính tổng quát hóa
Generalization represented by
arrows from subclass to
superclass
Subclasses inherit all
attributes and
operations of
superclasses
An Example of Generalization
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
24
Nguyễn Trung Trực - Khoa CNTT
Tính tổng quát hóa
Multiple inheritance is
complicated and not
supported by all
object-oriented
programming
languages.
Generalization based on two characteristics
Chương 2. Giới thiệu về hướng đối tượng và UML
2006
25
Nguyễn Trung Trực - Khoa CNTT
Tính thừa kế
Tính thừa kế (inheritance) là một cơ chế
mà lớp con trong mối liên kết tổng quát
hóa có được các thuộc tính và các tác vụ
của lớp cha.