التغليف ومعدّلات الوصول
تعلّم كيف يحمي التغليف البيانات وكيف تتحكم معدّلات الوصول في مستوى الرؤية
التغليف ومعدّلات الوصول درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 5 من أصل 7. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 7 دروس في المجموع.
مقدمة إلى التغليف
التغليف ومُحدِّدات الوصول
مرحبًا بكم في الدرس التالي! ستتعلمون في هذا الدرس التغليف، وهو مفهوم أساسي في البرمجة كائنية التوجه، وكيف تتحكم مُحدِّدات الوصول في مستوى ظهور أعضاء الفئة في C#. لنبدأ!

ما التغليف؟
ما التغليف؟
التغليف هو عملية جمع البيانات (الحقول) والسلوك (الأساليب) في وحدة واحدة (فئة)، مع تقييد الوصول المباشر إلى بعض المكونات. ويُجرى ذلك لحماية سلامة البيانات وفرض قواعد الوصول إليها.
نقطة أساسية: يتيح لكم التغليف إخفاء تفاصيل التنفيذ وإظهار الوظائف الضرورية فقط.
لماذا يُعد التغليف مهمًا؟
لماذا يُعد التغليف مهمًا؟
يوفر التغليف عدة فوائد:
- حماية البيانات: منع الوصول غير المصرح به أو غير الصالح إلى حقول الفئة.
- قابلية صيانة التعليمات البرمجية: لا تؤثر التغييرات في التنفيذ الداخلي في التعليمات البرمجية الخارجية.
- تحسين النمطية: إبقاء التعليمات البرمجية منظمة وسهلة الفهم.
مثال: توضح الفئة التي تحتوي على حقول خاصة وأساليب عامة لإدارة هذه الحقول مفهوم التغليف.
فهم مُحدِّدات الوصول
فهم مُحدِّدات الوصول
تحدد مُحدِّدات الوصول في C# نطاق إمكانية الوصول إلى أعضاء الفئة:
- public: يمكن الوصول إليه من أي مكان.
- private: لا يمكن الوصول إليه إلا من داخل الفئة نفسها.
- protected: يمكن الوصول إليه من داخل الفئة نفسها والفئات المشتقة منها.
- internal: يمكن الوصول إليه من داخل التجميعة نفسها.
- protected internal: يمكن الوصول إليه من داخل التجميعة نفسها أو من الفئات المشتقة.
نقطة أساسية: استخدموا مُحدِّدات الوصول لفرض التغليف.
مثال: التغليف باستخدام الحقول الخاصة
مثال: التغليف باستخدام الحقول الخاصة
إليكم مثالًا على التغليف باستخدام الحقول الخاصة والأساليب العامة:
نقطة أساسية: استخدموا الحقول الخاصة لتقييد الوصول المباشر، والأساليب العامة لإتاحة وظائف يمكن التحكم فيها.
using System;
class BankAccount {
private decimal balance; // Private field
public void Deposit(decimal amount) {
if (amount > 0) {
balance += amount;
} else {
Console.WriteLine("Deposit amount must be positive.");
}
}
public decimal GetBalance() {
return balance; // Access balance through a method
}
}
class Program {
static void Main() {
BankAccount account = new BankAccount();
account.Deposit(100.50m); // Deposit money
Console.WriteLine("Balance: $" + account.GetBalance()); // Get balance
}
}
التغليف باستخدام الخصائص
التغليف باستخدام الخصائص
توفر الخصائص طريقة أكثر وضوحًا لتغليف الحقول مع إتاحة منطق التحقق. مثال:
تلميح: استخدموا الخصائص بدلًا من أساليب الحصول والتعيين المباشرة لتحسين قابلية القراءة.
using System;
class BankAccount {
private decimal balance; // Private field
public decimal Balance { // Property with validation
get { return balance; }
set {
if (value >= 0) {
balance = value;
} else {
Console.WriteLine("Balance cannot be negative.");
}
}
}
}
class Program {
static void Main() {
BankAccount account = new BankAccount();
account.Balance = 200; // Set balance
Console.WriteLine("Balance: $" + account.Balance); // Get balance
}
}
تحدٍّ تدريبي
تحدٍّ تدريبي
أنشئ فئة باسم Student تحتوي على الحقلين الخاصين Name وAge. استخدم الخصائص لتغليف هذين الحقلين، وتأكد من أن العمر موجب دائمًا. مثال:
using System;
class Student {
private string name;
private int age;
public string Name {
get { return name; }
set { name = value; }
}
public int Age {
get { return age; }
set {
if (value > 0) {
age = value;
} else {
Console.WriteLine("Age must be positive.");
}
}
}
}
class Program {
static void Main() {
Student student = new Student();
student.Name = "Alice";
student.Age = 20;
Console.WriteLine("Name: " + student.Name);
Console.WriteLine("Age: " + student.Age);
}
}
أفضل الممارسات للتغليف
أفضل الممارسات للتغليف
إليكم بعض أفضل الممارسات:
- استخدموا دائمًا حقولًا خاصة للبيانات الحساسة.
- استخدموا الخصائص أو الأساليب للتحقق من الوصول إلى الحقول والتحكم فيه.
- اجمعوا بين التغليف ومُحدِّدات الوصول لحماية تعليماتكم البرمجية.
تلميح: يساعدكم التغليف على بناء تطبيقات آمنة وقابلة للصيانة.
أحسنتم!
أحسنتم!
تهانينا! لقد تعلمتم كيفية استخدام التغليف ومُحدِّدات الوصول لحماية بياناتكم وتنظيمها. في الدرس التالي، سنستكشف الوراثة ونتعلم كيفية إعادة استخدام التعليمات البرمجية بكفاءة. واصلوا البرمجة!

الأسئلة الشائعة
هل درس «التغليف ومعدّلات الوصول» مجاني؟
نعم — نص درس «التغليف ومعدّلات الوصول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 7 دروس في المجموع.
ماذا ستتعلم في «التغليف ومعدّلات الوصول»؟
تعلّم كيف يحمي التغليف البيانات وكيف تتحكم معدّلات الوصول في مستوى الرؤية تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 5 من أصل 7.
كم من الوقت يستغرق درس «التغليف ومعدّلات الوصول»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما هي البرمجة كائنية التوجه؟
- تعريف الفئات والكائنات
- فهم الخصائص والأساليب
- المنشئات في C#
- التغليف ومعدّلات الوصول
- الوراثة: إعادة استخدام التعليمات البرمجية
- تعدد الأشكال وتجاوز الأساليب