PDA

View Full Version : یک سوال مفهمومی از کلاس



one hacker alone
یک شنبه 31 اردیبهشت 1391, 13:28 عصر
با یاد خدا
سلام عزیزان

کلاس زیر رو در نظر بگیرید

class x
{
a();
b();
c();
p();
}
c()
{
.
.
.
p();
.
.
.
}


در بالا من کلاسی دارم که 4 تابع داره اما حقیقت اینه که کلاس من 3 رفتار میتونه داشته باشه و در واقع تابع p() نباید به تنهایی فراخوانی بشه و باید حتما داخل c() استفاده بشه و کاربر نتونه مستقیم اون رو اجرا کنه
حالا این سوال من مربوط به بحث خاصی در کلاس ها میشه یا نه؟
منظورم کپسوله سازی و....

من برای این برنامه باید چکار کنم؟

soorena
یک شنبه 31 اردیبهشت 1391, 13:36 عصر
سلام

من منظور رو درست متوجه نمیشم ولی‌ اگه منظور این هستش که می‌خواین یه تابع تو کلاستون داشته باشید که فقط توسط توابعی دیگر همون کلاس بشه فراخونی کردش و از خارج کلاس و توسط کاربر نشه صداش کرد خوب کافیه این تابع رو به صورت private تعریف کنید.

one hacker alone
یک شنبه 31 اردیبهشت 1391, 16:14 عصر
ممنون
خوب این چیزی شما میگین کار من رو راه میندازه پس بحث کپسوله سازی چیه

rezaricky
یک شنبه 31 اردیبهشت 1391, 16:56 عصر
تعریف کردن تابع p بصورت private همون کپسوله سازیه

pe32_64
یک شنبه 31 اردیبهشت 1391, 17:35 عصر
عزیز شما یه کتاب در مورد شی گرایی (فارسیاش هم برا شروع خوبه-فکر کنم یه 21 روز هم هست) بخون،مشکلات حل میشن!