• 2 رای - 3.5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چه زمانی و کجا از final - private - public - static استفاده میشود؟
#1
سلام دوستان،

از عنوان تاپیک واضحه که چی میخوام بپرسم!


سپاس فراوان Heart
غایب
  پاسخ
تشکر شده توسط :
#2
سلام

public:
متد و یا خاصیت کاملا به صورت عمومی ساخته می شود . برای تمام بخش های برنامه قابل دسترس هست . ( می تونی از بیرون صداش کنی ! Big Grin)

protected:
فقط برای خود شی و مشتقاتش قابل دسترس هست. درون کلاس و فرزندانش می تونی ازش استفاده کنی . کلاس های خواهر و ... نمی تونند ازش استفاده کنند و مصارف داخل کلاسی داره ! ( چی گفتم Big Grin )

private:
فقط و فقط درون خود کلاس قابل فراخوانی هست. حتی در زیر مجموعه ها هم قابل استفاده نیست . (مثل یوزر نیم و پسورد در کلاس دیتابیس که نباید در دسترس بخش های دیگه باشه ، البته ساده ترین مثال بود . می تونی کارایی های بهتر و پیچیده تری رو براش پیدا کنی. )

static:
می توانید خاصیت هایی رو استاتیک تعریف کنید و بدون ساختن شیء فراخوانی کنید. به طور کلی می توان گفت که به شی خاصی متعلق نیستند و مستقیما میشه از کلاس فراخوانی کرد و ... ( مثل متغیر های سراسری می مونه )
برای استفاده از بیرون باید از روش زیر استفاده کنید . نیازی به ساخت شی قبل از فراخوانی نداره.
نام خاصیت استاتیک :: نام کلاس

البته درون خود کلاس هم باید از پیشوند Self استفاده کنی :
self:: myStaticVariable
یکی از بهترین روشها برای به اشتراک گذاشتن توابع در کلاسهای مختلف هست.

زمان استفاده رو میشه بر اساس این نکات انتخاب کرد / امنیت ، کارایی ، مدیریت ارتباطات ، ایجاد دسترسی ، زیبایی و خوانایی برنامه و ...

تند تند نوشتن اگه توضیحی نیاز بود ، بفرمایید تا مثال هم بزنم .
  پاسخ
تشکر شده توسط : oia HiddeN cyletech Alimokhlesi zoghal payam
#3
در تکمیل پاسخ amir.s عزیز
final :
برای مواقعی استفاده میشه که کلاس یا متد مورد نظر قرار نیس به ارث برسه. کلاسی که فاینال بهشه به ارث نمی ره و همچنین متدی که فاینال باشه.
در واقع متد و کلاس هایی که با فاینال نوشته میشن حکم برگ یه درخت رو دارن
علم تاج افتخار دنیا و یادگار پس از مرگ است
  پاسخ
تشکر شده توسط : cyletech amir.s payam
#4
جناب مخلصی جان شما خیلی خوب توضیح دادید. میشه بقیه هم شما یکبار دیگه توضیحی بدید؟ البته amir.s جان هم خیلی کامل توضیح دادند اما کلمات بکار برده شده کمی غیرقابل هضم هستند.
غایب
  پاسخ
تشکر شده توسط :
#5
public:
بعضی از متغییر ها یا متد های درون کلاس می تونن پابلیک باشن. یعنی محدوده ی استفاده از اونها محدود به همین کلاس نمیشه. تو PHP پیشفرض همه چیز پابلیکه. مثل جاوا
برای مثال :
کد پی‌اچ‌پی:
class Test
{
public function 
TestPrint()
{}
public 
$Var "xyz";
}
$Object = new Test();
$Object->TestPrint();
$Object->Var

دقت کنید که من یک شی از کلاسم ساختم بعد تونستم از متغییر و متد پابلیک بیرون از کلاسم به واسطه شی ام استفاده کنم
اگر متغییر یا متدی Private باشه دیگه خارج از کلاس قابل دیدن نیست . فقط داخل کلاس دیده میشه. اگه از متغییر یا متد پرایویت در خارج کلاس به روشی که برای پابلیک استفاده میشه استفاده کنید خطا میده که دسترسی ندارید

برا پروتکتد و استاتیک هم توضح میدم
تا غرئب ان شاله
علم تاج افتخار دنیا و یادگار پس از مرگ است
  پاسخ
تشکر شده توسط : oia cyletech


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان