التغليف في Java
⚡ ملخص ذكي
التغليف في Java هي آلية تجمع المتغيرات والأساليب معًا كوحدة واحدة مع إخفاء التفاصيل الداخلية. وهي تحمي بيانات الكائن باستخدام الحقول الخاصة والتحكم في الوصول من خلال أساليب الوصول والتعديل العامة.

ما هو التغليف في Java?
التغليف في Java هي آلية لتغليف المتغيرات (البيانات) والطرق (الكود) معًا كوحدة واحدة. إنها عملية إخفاء تفاصيل المعلومات وحماية البيانات وسلوك الكائن. إنها واحدة من المفاهيم الأربعة المهمة في البرمجة الشيئية. من السهل اختبار فئة التغليف، لذا فهي أيضًا أفضل لاختبار الوحدات.
انقر اضغط هنا إذا لم يكن من الممكن الوصول إلى الفيديو
تعلم التغليف في Java مع المثال
لفهم ما هو التغليف بالتفصيل، ضع في اعتبارك فئة حساب البنك التالية مع طرق الإيداع وإظهار الرصيد
class Account { private int account_number; private int account_balance; public void show Data() { // code to show data } public void deposit(int a) { if (a < 0) { // show error } else account_balance = account_balance + a; } }
لنفترض أن أحد المتسللين تمكن من الوصول إلى رمز حسابك المصرفي. الآن، يحاول إيداع مبلغ -100 في حسابك بطريقتين. دعنا نرى طريقته أو نهجه الأول.
المقاربة 1: يحاول إيداع مبلغ غير صالح (على سبيل المثال -100) في حسابك المصرفي عن طريق التلاعب بالرمز.
والآن السؤال هو - هل هذا ممكن؟ دعنا نتحقق من ذلك. عادةً ما يتم تعيين متغير في فئة على أنه "خاص" كما هو موضح أدناه. لا يمكن الوصول إليه إلا باستخدام الطرق المحددة في الفئة. لا يمكن لأي فئة أو كائن آخر الوصول إليها.
إذا كان أحد أعضاء البيانات خاصًا، فهذا يعني أنه لا يمكن الوصول إليه إلا داخل نفس الفئة. لا يمكن لأي فئة خارجية الوصول إلى عضو بيانات خاص أو متغير من فئة أخرى. لذا في حالتنا، لا يمكن للمخترق إيداع مبلغ -100 في حسابك.
المقاربة 2: فشلت المحاولة الأولى للمخترق في إيداع المبلغ. بعد ذلك، حاول إيداع مبلغ -100 باستخدام طريقة "الإيداع".
لكن تنفيذ الطريقة لديه فحص للقيم السالبة. لذا فإن النهج الثاني يفشل أيضًا.
وبالتالي، لا تعرض بياناتك أبدًا لطرف خارجي. مما يجعل تطبيقك آمنًا.
يمكن اعتبار الكود بأكمله بمثابة كبسولة، ولا يمكنك التواصل إلا من خلال الرسائل. ومن هنا جاء اسم التغليف.
إخفاء البيانات في Java
إخفاء البيانات في Java يُخفي هذا الأسلوب متغيرات فئة معينة عن الفئات الأخرى، ولا يمكن الوصول إليها إلا من خلال دالة الفئة الحالية. كما يُخفي تفاصيل التنفيذ عن المستخدمين. ولكن الأهم من إخفاء البيانات، أنه يهدف إلى تحسين الإدارة أو إدارة المجموعات.ping من البيانات ذات الصلة. لتحقيق درجة أقل من التغليف في Javaيمكنك استخدام مُعدِّلات مثل "protected" أو "public". باستخدام التغليف، يمكن للمطورين تغيير جزء واحد من الكود بسهولة دون التأثير على الأجزاء الأخرى.
جيتر و سيتر في Java
جيتر و سيتر في Java طريقتان تقليديتان تستخدمان لاسترداد وتحديث قيم المتغير. يتم استخدامها بشكل أساسي لإنشاء القيم المتغيرة وتعديلها وحذفها وعرضها. يتم استخدام طريقة الضبط لتحديث القيم ويتم استخدام طريقة getter لقراءة القيم أو استرجاعها. ومن المعروف أيضًا باسم الملحق والمتحول.
الكود التالي هو مثال لطرق getter و setter:
class Account{ private int account_number; private int account_balance; // getter method public int getBalance() { return this.account_balance; } // setter method public void setNumber(int num) { this.account_number = num; } }
في المثال أعلاه، طريقة getBalance() هي طريقة getter التي تقرأ قيمة المتغير account_balance وطريقة setNumber() هي طريقة الضبط التي تقوم بتعيين أو تحديث القيمة للمتغير account_number.
ABStracالتغليف مقابل التغليف
في كثير من الأحيان يساء فهم التغليف ABStracالإنتاج. لندرس-
- التغليف يدور حول "كيفية" تحقيق الوظيفة
- ABStracالأمر يتعلق أكثر بـ "ماذا" يمكن أن يفعله الفصل.
مثال بسيط لفهم هذا الفرق هو الهاتف المحمول. حيث يتم تغليف المنطق المعقد الموجود في لوحة الدوائر بشاشة لمس، ويتم توفير واجهة المستخدم لـtracأخرجها.
مزايا التغليف في Java
- التغليف يربط البيانات بالوظائف المرتبطة بها. هنا تعني الوظائف "الطرق" والبيانات تعني "المتغيرات".
- لذلك نحتفظ بالمتغيرات والأساليب في مكان واحد. هذا المكان هو "الطبقة". الطبقة هي أساس التغليف.
- مع Java التغليف، يمكنك إخفاء (تقييد الوصول) إلى أعضاء البيانات الهامة في التعليمات البرمجية الخاصة بك، مما يحسن الأمان
- كما ناقشنا سابقًا، إذا تم إعلان عنصر بيانات "خاصًا"، فلا يمكن الوصول إليه إلا داخل نفس الفئة. لا يمكن لأي فئة خارجية الوصول إلى عنصر بيانات (متغير) من فئة أخرى.
- ومع ذلك، إذا كنت بحاجة إلى الوصول إلى هذه المتغيرات، عليك استخدام "الجامع" و"الواضع" العام الأساليب.






