PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : استفاده از کلاس ها و آبجکت ها در جاوا



TAHA
10-02-2009, 07:06 AM
استفاده از کلاس ها و object (شیء) ها
این بخش توضیح می دهد که برنامه “Hello World” چگونه از کلاس ها و object ها استفاده می کند. اگر شما با مفاهیم object-oriented (شیء گرایی) آشنا نیستید، ممکن است این بخش برای شما گیج کننده باشد. اگر این چنین است، به راحتی به بخش Object-Oriented Programming Concepts مراجعه کنید.

برنامه “Hello World” ساده ترین برنامه ایست که می توانید بنویسید که کاری انجام دهد. به این خاطر که این برنامه بسیار ساده است، احتیاجی نیست که کلاسی به جز HelloWorldApp تعریف کند. اگرچه، اکثر برنامه هایی که خواهید نوشت، پیچیده تر از این خواهند بود و احتیاج به کلاس های بیشتری خواهند داشت.

برنامه “Hello World” از یک کلاس دیگر نیز استفاده می کند، کلاس System، که قسمتی از API (application programming interface، واسط نوشتن برنامه) ارائه شده توسط محیط جاواست.

قسمت تیره (bold) در برنامه زیر استفاده از یک متغیر کلاس System و یک instance method آن را نمایش می دهد.

Code:

/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}

استفاده از یک method کلاس یا متغیر آن
بگذارید نگاهی به اولین قسمت این عبارت بیندازیم:

Code:
System.out.println("Hello World!");

ترکیب System.out اسم کامل متغیر out در کلاس System است. توجه کنید که برنامه هیچ وقت کلاس System را نمونه سازی (instantiation) نمی کند و به out مستقیما از طریق نام کلاس رجوع شده است. این به این علت است که out یک متغیر کلاس است، متغیری که متعلق به کلاس است به جای متعلق بودن به instance (نمونه) ای از کلاس. شما همچنین می توانید method هایی را بسازید که متعلق به کلاس باشد که به آنها class method می گویند.

برای دسترسی به variable (متغیر) ها و method های کلاس، شما اسم کلاس و اسم class method یا class variable (متغیر کلاس( را، با یک نقطه "." در وسطشان به هم می چسبانید.

استفاده از یک Instance Method یا یک Instance Variable
Method ها و variable (متغیر( هایی که method یا variable کلاس نیستند به instance method یا instance variable مشهورند. برای دسترسی به instance method ها یا instance variable ها، شما باید از طریق object آن کلاس به آنها دسترسی داشته باشید.

در حالیکه متغیر out در System یک class variable است، به یک instance از کلاس PrintStream اشاره می کند (کلاسی که توسط محیط توسعه جاوا ارائه شده است) که سیستم خروجی استاندارد را پیاده سازی می کند.

وقتی کلاس System در یک برنامه load می شود، یک instance از PrintStream می سازد و آدرس آن را به متغیر out که یک class variable است نسبت می دهد. حال که شما instance ای از این کلاس را دارید، می توانید instance method های آن را call کنید (صدا بزنید).

Code:
System.out.println("Hello World!");

همانطور که می بینید، شما همانطور به instance method ها و instance variable ها دسترسی دارید که به class method ها و class variable ها دسترسی دارید. شما object reference (out) و اسم instance method یا instance variable (println) را با یک نقطه "." به یکدیگر می چسبانید.

کامپایلر (compiler) جاوا به شما این اجازه را می دهد دسترسی به هر نوع method یا variable (class یا instance) ای را به هم بچسبانید، که در نتیجه چیزی شبیه عبارت درون برنامه بدست می آید:

Code:
System.out.println("Hello World!");

این خط از برنامه جمله “Hello World” را در خروجی استاندارد نمایش می دهد.

Summary
خلاصه
یک class method یا class variable متعلق به یک کلاس است. جاوا به ازای هر کلاس یک class variable در حافظه در نظر می گیرد، مهم نیست چند instance از روی آن وجود دارد. شما به class variable ها و class method ها از طریق خود کلاس دسترسی دارید.

یک instance method یا یک instance variable متعلق به یک object خاص است (یک instance از آن کلاس(. هر بار که یک object می سازید، object جدید یک کپی از هر instance variable برای خود بر می دارد. شما از طریق object به instance variable ها و یا instance method ها دسترسی دارید.