الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب توضيح الفرق بين private و public

بدأه Mohamed Hamdan في 3 ديسمبر 2014 · 6 رد · 3,489 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم اخواني الكرام.

 

اريد الاستفسار عن private و public انا اعلم ان private لا يمكن استخدامها خارج الكلاس الى بطرق معينة ولكن لماذا يفضل استخدام private بدل من public 

 

ارجو الافادة

#2

حتى تتمكن من تحديد الشروط المطلوبة على الحقول ال private، على سبيل المثال لاتقوم بعملية اسناد مباشرة لحقل salary ... حتى تستطيع تحديد شروطك الخاصة لذلك فمثلا لايمكن ان تقبل salary بقيمة سالبة او غير منطقية فتجعل عملية الأسناد عبر ال setters

1
(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

للأسف لم افهم اخي الكريم انا اريد ان اعرف لماذا يفضل استخدام private بدل public و protected

#4

ارجو الافادة

#5

صديقي انت تسأل عن أمور من بديهيات البرمجة وصعب هنا التطرق لكل الموضوع فالافضل لو تحصل على مرجع وتقرأ منه ولو استعصت عليك نقطة فنحن هنا لتوضيحها

 

على كل حال بشكل مختصر الـ private هي كما يدل اسمها عبارة عن متغيرات نقوم بتعريفها كمتغيرات خاصة private كنوع من الحماية فلا يستطسع احد قرائتها او تغيرها وا عمل اي شيء فيها خارج الصنف الموجودة فيه

ويتم التعامل معها عن طريق المعرفاتا set  & get

طبعا بشكل عام نلجأ دوما في كلاسات الجافا لتعريف المتغيرات كـ private 

اما الـ public  فهو على العكس حيث تتم قرائته بسهولة وهو يكون بدون حماية وعادة يتم تعريف المتغيرات private  والدوال public ليتم الوصول والتعرف اليها حتى لو كنا خارج الكلاس الموجودة به

اما النوع الاخير protected فهو يءمن حماية كالنوع الأول لكنه يسمح بالوراثة للمتغيرات في كلاسات ثانية...يعني لو احببت ان تورث متغيرات وتستخدمها في كلاسات اخرى فيجب تعريفها كـ protected

 

أرجو ان اكون قد قدمت اجابة مفيدة وبالتوفيق

1

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#6

هي شروط الوصول للمتغير . هل تريد اي كلاس يستخدمه او لا

وهذه من ضمن المعايير في اللغة الجافا بحيث تتجنب اللخبطة .

فعندما تريد ان تنادي متغير او تستعمله في  كلاس ما . فلا تستطيع استخدام المتغيرات الا فقط الموجودة بنفس الكلاس

فلو كان public فممكن تستخدم متغير خارج الكلاس وانت تريد المتغير الموجود بنفس الكلاس .

في الجافا يفضل عمل التحكم بالوصول . اذا كان المتغير لا اريد استخدامه في اي كلاس اخر يفضل private

في الاخير انت الذي تقرر .

1
#7
vector_ever كتب:

صديقي انت تسأل عن أمور من بديهيات البرمجة وصعب هنا التطرق لكل الموضوع فالافضل لو تحصل على مرجع وتقرأ منه ولو استعصت عليك نقطة فنحن هنا لتوضيحها

 

على كل حال بشكل مختصر الـ private هي كما يدل اسمها عبارة عن متغيرات نقوم بتعريفها كمتغيرات خاصة private كنوع من الحماية فلا يستطسع احد قرائتها او تغيرها وا عمل اي شيء فيها خارج الصنف الموجودة فيه

ويتم التعامل معها عن طريق المعرفاتا set  & get

طبعا بشكل عام نلجأ دوما في كلاسات الجافا لتعريف المتغيرات كـ private 

اما الـ public  فهو على العكس حيث تتم قرائته بسهولة وهو يكون بدون حماية وعادة يتم تعريف المتغيرات private  والدوال public ليتم الوصول والتعرف اليها حتى لو كنا خارج الكلاس الموجودة به

اما النوع الاخير protected فهو يءمن حماية كالنوع الأول لكنه يسمح بالوراثة للمتغيرات في كلاسات ثانية...يعني لو احببت ان تورث متغيرات وتستخدمها في كلاسات اخرى فيجب تعريفها كـ protected

 

أرجو ان اكون قد قدمت اجابة مفيدة وبالتوفيق

 

 

H.H.H كتب:

هي شروط الوصول للمتغير . هل تريد اي كلاس يستخدمه او لا

وهذه من ضمن المعايير في اللغة الجافا بحيث تتجنب اللخبطة .

فعندما تريد ان تنادي متغير او تستعمله في  كلاس ما . فلا تستطيع استخدام المتغيرات الا فقط الموجودة بنفس الكلاس

فلو كان public فممكن تستخدم متغير خارج الكلاس وانت تريد المتغير الموجود بنفس الكلاس .

في الجافا يفضل عمل التحكم بالوصول . اذا كان المتغير لا اريد استخدامه في اي كلاس اخر يفضل private

في الاخير انت الذي تقرر .

 

 

شكرا لكم اخواني تم الافادة

مواضيع مشابهة