آموزش جاوا -19
به نام خدا
سلام دوستان
درس نوزدهم
ایجاد متغیرهای کلاس
هر شیء به محض ایجاد ، شامل یک کپی مخصوص به خود ، از کلیه متغییرهایی است که بخشی از کلاس مربوط به آن شیء می باشند. به عنوان مثال ، هر شیء ایجاد شده از کلاس Virus شامل نسخهای مربوط به خود ، از متغییرهای newSeconds,maxFileSize,author می باشد . اگر یکی از این متغییرها را در یک شی ء تغییر دهید، تاثیری روی همان متغییر از شیء Virus دیگر نخواهد داشت .
گاهی یک خصوصیت بیش از آنکه مربوط به یک شیء خاص باشد، مربوط به خود کلاس است.
متغییرهایی که تاکنون برای اشیاء ایجاد می کردیم متغییرهای شیء (object variables) نامیده می شوند، چرا که وابسته به یک شیء خاص می باشند . متغییرهای کلاس(class variables) ، متغییرهایی هستند که وابسته اند به یک کلاس از اشیا و نه به یک شیء خاص .
هر دو نوع این متغیرها به یک شکل ایجاد می شوند و مورد استفاده قرار می گیرند ، با این تفاوت که متغییرهای کلاس با استفاده از جمله static ایجاد می شوند. مثال زیر ، یک متغیر کلاس را برای کلاس Virus ایجاد می کند :
Static int virusCount=0;
نحوه تغییر مقدار یک متغییر کلاس ، تفاوتی با چگونگی تغییر یک متغیر شیء ندارد. اگر یک شیء Virus به نام tuberculosis داشته باشید ، می توانید کلاس virusCount را با استفاده از جمله زیر تغییر دهید:
Tuberculosis.virusCount++;
ولی از آنجایی که متغیرهای کلاس با کل کلاس ارتباط دارند و نه به یک شیء خاص، می توانید به جای نام شیء ، از نام کلاس استفاده کنید :
Virus.virusCount++;
هر دو جمله فوق عمل یکسانی انجام می دهند، لیکن استفاده از نام کلاس ، هنگام کار با متغیرهای کلاس بهتر است ، چرا که بلافاصله مشخص می کند که متغیر مورد نظر ، یک شیء نیست ، بلکه یک متغیر کلاس است . اگر هنگام کار با متغیرهای کلاس ، همواره از اسامی اشیا استفاده کنید، فهمیدن اینکه آیا یک متغیر کلاس است یا نه ، بدون بررسی دقیق کد مربوط به کلاس ، امکان پذیر نخواهد بود
سلام دوستان
درس نوزدهم
ایجاد متغیرهای کلاس
هر شیء به محض ایجاد ، شامل یک کپی مخصوص به خود ، از کلیه متغییرهایی است که بخشی از کلاس مربوط به آن شیء می باشند. به عنوان مثال ، هر شیء ایجاد شده از کلاس Virus شامل نسخهای مربوط به خود ، از متغییرهای newSeconds,maxFileSize,author می باشد . اگر یکی از این متغییرها را در یک شی ء تغییر دهید، تاثیری روی همان متغییر از شیء Virus دیگر نخواهد داشت .
گاهی یک خصوصیت بیش از آنکه مربوط به یک شیء خاص باشد، مربوط به خود کلاس است.
متغییرهایی که تاکنون برای اشیاء ایجاد می کردیم متغییرهای شیء (object variables) نامیده می شوند، چرا که وابسته به یک شیء خاص می باشند . متغییرهای کلاس(class variables) ، متغییرهایی هستند که وابسته اند به یک کلاس از اشیا و نه به یک شیء خاص .
هر دو نوع این متغیرها به یک شکل ایجاد می شوند و مورد استفاده قرار می گیرند ، با این تفاوت که متغییرهای کلاس با استفاده از جمله static ایجاد می شوند. مثال زیر ، یک متغیر کلاس را برای کلاس Virus ایجاد می کند :
Static int virusCount=0;
نحوه تغییر مقدار یک متغییر کلاس ، تفاوتی با چگونگی تغییر یک متغیر شیء ندارد. اگر یک شیء Virus به نام tuberculosis داشته باشید ، می توانید کلاس virusCount را با استفاده از جمله زیر تغییر دهید:
Tuberculosis.virusCount++;
ولی از آنجایی که متغیرهای کلاس با کل کلاس ارتباط دارند و نه به یک شیء خاص، می توانید به جای نام شیء ، از نام کلاس استفاده کنید :
Virus.virusCount++;
هر دو جمله فوق عمل یکسانی انجام می دهند، لیکن استفاده از نام کلاس ، هنگام کار با متغیرهای کلاس بهتر است ، چرا که بلافاصله مشخص می کند که متغیر مورد نظر ، یک شیء نیست ، بلکه یک متغیر کلاس است . اگر هنگام کار با متغیرهای کلاس ، همواره از اسامی اشیا استفاده کنید، فهمیدن اینکه آیا یک متغیر کلاس است یا نه ، بدون بررسی دقیق کد مربوط به کلاس ، امکان پذیر نخواهد بود
+ نوشته شده در ساعت توسط احسان خوشخرام
|