- 17
4.5 Thuộc tính của lớp
Thuộc tính của lớp (attribute)mô tảcácđặctính củacácđốitượng tronglớpđó.
Ví dụ: mỗi khách hàng của lớpKhachHangcó họ và tên, địa chỉ, số tài khoản, v.v. Ở
mỗi thờiđiểm thuộc tính củamột đối tượng củamột lớp là giá trị dữ liệu logic biểu
diễn cho tính chất tương ứng của đối tượng, được gọi là giá trị thuộc tính của đối
tượngtạithờiđiểmđó. Mỗithuộctínhcó:
+ Tên của thuộc tính,
- 76 -
+ Kiểu xác định các loại giá trị mà thuộc tính mô tả,
+ Giá trị mặc định (khởi đầu) cho mỗi thuộc tính.
Kiểu của thuộc tínhnóichotabiếtvề loại giá trị kiểu số nguyên (Integer, Int), số thực (Real, Float), giá trị logic (Boolean), ký tự (Character), thời gian (Time), v.v.
được gọi là các kiểu nguyên thuỷ (primitive type). Ngoàicáckiểu nguyên thuỷ,người
pháttriểnhệthốngcóthểtạoranhữngkiểumớituỳý.
Thuộc tínhcủalớp còncóthêmđặctínhđểthểhiệnkhảnăngnhìnthấyđượchay đặc tính quản lý khả năng truy nhập của thuộc tính đối với các đối tượng khác, gọi chung là phạmviquan sát củathuộc tính.Đólàcác đặctính được khaibáo tronglớp bằngcáckýhiệu:
‘+’ đứng trước thuộc tính trong UML, hoặc biểu tượng ổ khoá nhưng không bị khoá trongRose để thểhiệnthuộctínhnàylàcôngkhai(public),mọiđối tượngđềunhìnthấyđược,
‘#’đứng trước thuộctính trong UML,hoặcbiểu tượng ổkhoá và cóchìa đểbên cạnh trong Rose để thể hiện thuộc tính nàylà đượcbảo vệ (protected), nhữngđốitượngcóquanhệ kếthừacóthểnhìnthấyđược,
‘-’đứngtrướcthuộctínhtrongUML,hoặcbiểutượngkhoábịkhoávàchìabịcất đi trongRose để thểhiện thuộctínhnàylà sởhữu riêng (private), chỉ bảnthânđốitượngcủamộtlớpnhìnthấyđược.
Trườnghợp nhữngthuộc tínhkhông cókýhiệu đặctínhphạm vinàođứng trước thìđược xemlà mặcđịnh,nghĩalànhữngthuộctính cóthểquansátđượcđốivới các lớptrongcùnggói.
KhachHang + hoTen: String
- soTaiKhoan: Int # diaChi: String
Hình4-11 Cácthuộctínhcủalớp
Thuộc tính hoTencó kiểu String và làcôngkhai, soTaiKhoan có kiểuInt (cácsố nguyên) là riêngcòn diaChilàđượcbảovệ,cókiểu String.
Lưu ý:Khicàiđặtchươngtrìnhthìphạmviquansátcủathuộctínhcòn tuỳthuộc
vào những qui định khác nhau của ngôn ngữ lập trình được lựa chọn. Ví dụ đặc tính mặcđịnh,hayđượcbảovệcủathuộctínhtrongC++vàJavalàkhácnhau.