نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
AN

منهج Angular v22.1

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Angular v22.1/التحكم في الوصول

التحكم في الوصول

معدلات الوصول في تايبسكربتPublic PrivateTypeScript Access Modifiers Protectedالتحكم في الوصول في Angularحماية البيانات الكائنية

جدول مرجعي سريع

1
معدل الوصولمكان إمكانية الوصولالشرح والاستخدام العملي
publicفي كل مكان (داخل الفئة، الفئات الفرعية، وخارجها)الوضع الافتراضي لأي خاصية أو دالة، حيث يمكن قراءتها وتعديلها بحرية تامة من أي مكان
privateداخل الفئة المُعرفة فيها فقطيمنع نهائياً الوصول للخاصية أو الدالة من خارج الفئة أو حتى من الفئات الابنة (الورثة)
protectedداخل الفئة وفروعها (الوراثة) فقطيسمح للـ Classes الابنة بالوصول للخصائص مع إبقاءها مخفية عن العالم الخارجي ومنع تعديلها مباشرة

الشرح

بعد أن تعرفنا على مفهوم الفئات (Classes) في الدرس السابق، يأتي الدور على ضبط صلاحيات الوصول لخصائص ودوال هذه الفئات في إطار عمل Angular 22.1. توفر لنا لغة TypeScript أدوات قوية تُعرف بـ معدلات الوصول (Access Modifiers) وهي (public, private, protected)، والتي تمكننا من تطبيق مبدأ تغليف البيانات (Encapsulation) وحماية الحالة الداخلية للكائنات ومنع التلاعب الخارجي بها.

تفصيل معدلات الوصول وكيفية عملها

الوصول العام (public):

هو الوضع الافتراضي في TypeScript. عندما لا تكتب أي معدل وصول قبل الخاصية أو الدالة، فإنها تعتبر public، مما يعني إمكانية استدعائها من أي مكان في تطبيق Angular (سواء من داخل المكون أو من قوالب الـ HTML الخاصة به).

الوصول الخاص (private) والمحمي (protected):

الـ private يحمي البيانات الحساسة أو الحالات الداخلية (مثل حالة الاتصال بالخادم أو الـ Tokens) بحيث لا يمكن لأي كائن أو مكون خارجي رؤيتها أو تعديلها. الـ protected مفيد جداً عند استخدام الوراثة (inheritance)، حيث تسمح للفئات الابنة بوراثة خصائص معينة دون السماح للمكونات الخارجية بالعبث بها.

أمثلة برمجية: تطبيق عملي على Access Modifiers في Angular

المثال الأول: استخدام private لحماية البيانات الداخلية للخدمة

هنا نقوم بإنشاء خدمة أو فئة تدير المصادقة مع حماية المتغيرات الحساسة:

typescript
1class AuthService {
2 // خاصية خاصة لا يمكن قراءتها أو تعديلها من خارج الفئة
3 private token: string = "xyz-secure-token-123";
4
5 // دالة عامة يمكن للمكونات استدعاؤها بأمان
6 public authenticate(password: string): boolean {
7 if (password === "12345") {
8 this.logAccess(); // استخدام دالة خاصة داخلية
9 return true;
10 }
11 return false;
12 }
13
14 private logAccess(): void {
15 console.log("تم تسجيل دخول ناجح وتوليد الجلسة بأمان.");
16 }
17}

المثال الثاني: استخدام protected مع الفئات الفرعية (الوراثة)

في هذا المثال، نسمح للفئات الابنة بالوصول إلى خصائص الأب مع منع الوصول الخارجي تماماً:

typescript
1class BaseComponent {
2 // خاصية محمية يمكن للفئات الابنة استخدامها مباشرة
3 protected isLoading: boolean = false;
4
5 protected showLoader(): void {
6 this.isLoading = true;
7 }
8}
9
10class UserDashboardComponent extends BaseComponent {
11 loadData(): void {
12 this.showLoader(); // مسموح لأن الدالة protected والابن يرث الأب
13 console.log(`حالة التحميل الحالية: ${this.isLoading}`);
14 }
15}
16
17let dashboard = new UserDashboardComponent();
18dashboard.loadData();
19// dashboard.isLoading; // خطأ برمجي: لا يمكن الوصول لخاصية محمية من الخارج

نصائح احترافية

  • —طبق مبدأ الحد الأدنى من الصلاحيات (Principle of Least Privilege)!
  • —اجعل جميع خصائص وحالات مكونات وخدمات Angular الخاصة بك private أو protected افتراضياً، ولا تفتحها باستخدام public إلا عندما تتطلب الحاجة الفعلية تفاعل قوالب الـ HTML أو المكونات الأخرى معها. هذا يحافظ على استقرار وهندسة التطبيق على المدى الطويل.

الدرس السابق

البرمجة الكائنية

الدرس التالي

مقدمه شامله لاهم اوامر Angular CLI

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر