Page 56 - วิศวกรรมซอฟต์แวร์
P. 56

7-46 วิศวกรรมซอฟต์แวร์

       4.2		การก�ำหนดการเข้าถึงแบบป้องกัน (protected) ท�ำได้โดยใช้เครื่องหมาย # หน้าแอตทริบิวต์หรือ
โอเปอเรชั่น เพ่ือให้สามารถเข้าถึงได้ภายในคลาสและจากคลาสที่ท�ำการสืบทอดคุณสมบัติ (inherit) ไปเท่าน้ัน การ
ก�ำหนดการเข้าถึงในลักษณะน้ีจะสงวนไว้ส�ำหรับการสืบทอดคุณสมบัติหรือการระบุคุณลักษณะท่ัวไป (generaliza-
tion) หรือการระบุความเฉพาะเจาะจง (specialization) โดยเฉพาะเท่านั้น

                       package1                          ClassInSamePackage

                            BlogAccount
                         #creationDate
                          aMethod()

package2               SpecializedClassInAnotherPackage
ClassInAnotherPackage

                               ภาพที่ 7.33 การกำ�หนดการเข้าถึงแบบปอ้ งกนั

ที่มา: 	Kim Hamilton and Russell Miles. Learning UML 2.0. Figure 4-8.

       จากภาพที่ 7.33 เป็นการก�ำหนดการเข้าถึงแบบป้องกันให้กับแอตทริบิวต์ช่ือ “creationDate” จึงท�ำให้
สามารถเข้าถึงได้จากเมธอดช่ือ “aMethod()” ท่ีอยู่ในคลาสเดียวกัน และสามารถเข้าถึงได้จากคลาสที่สืบทอดท่ีอยู่
ต่างแพ็คเก็จกัน ก็คือคลาสช่ือ “SpecializedClassInAnotherPackage” แต่ไม่สามารถเข้าถึงได้จากคลาสใน
แพ็คเก็จเดียวกัน นั่นคือ คลาสชื่อ “ClassInSamePackage” รวมถึงไม่สามารถเข้าถึงได้จากคลาสในแพ็คเก็จอ่ืน
จากในภาพ คือ คลาสชื่อ “ClassInAnotherPackage”
   51   52   53   54   55   56   57   58   59   60   61