آموزش اشیا (Object) و کلاس ها در جاوا

شاید تاکنون بارها شنیده باشید که JAVA یک برنامه نویسی شی گرا است و این به معنای رمزگذاری در JAVA است که به طور مداوم شامل کلاس ها و اشیاء می شود. به عبارت دیگر رمزگذاری در JAVA بدون شیء و کلاس امکان پذیر نیست. حتی کوچکترین برنامه نیاز به اعلام کلاس و روش کار روی شی دارد. بنابراین در این قسمت می خواهیم این دو مفهوم را که در JAVA بسیار مهم هستند را به شما آموزش دهیم.تعریف کلاس (Class) و اشیاء(Object) :کلاس (Class) چیست؟کلاس یکی از ارکان مهم برنامه نویسی است که اشیایی را داخل خودش دارد که این اشیاء دارای رفتار و ویژگی های مشترکی با هم هستند. و در واقع کلاس یک بلوپرینت (blueprint) یا به اصطلاح نقشه ساخت است که در پشت این نوع از اشیاء وجود دارد.به عنوان مثال: در نظر بگیرید که دستگاه هایی مثل iPhone ، Samsung و Sony دارید و می خواهید آنها را در JAVA نمایش دهید. برای انجام این کار ، ابتدا باید بدانید که بلوپرینت (blueprint) یا به اصطلاح نقشه ساخت موجود در این دستگاه ها چیست؟ در اینجا بلوپرینت می تواند یک موبایل باشد زیرا همه آنها نوعی موبایل هستند. بنابراین موبایل یک کلاسی است که می تواند دستگاه های آیفون ، سامسونگ و سونی را در اینجا در بر بگیرد.نحوه اعلام کلاس در JAVA:class Mobile{ /**ToDo Code Here*/ }نکته مهم: کلاس بازنمایی از انواع مشابهی از اشیاء یا اجرای کپسوله سازی است.از نظر جاوا، کلاس نوعی اعلام (Declaration) است یعنی وقتی می خواهید نوع خاصی از داده ها را برای استفاده خاصی تعریف کنید، می توانید با کمک کلاس به راحتی می توانید اینکار را انجام دهید.در اصل، کلاس بلوپرینت یا نقشه ساختی برای نوع خاصی است. اگر در زبان محاوره ای در سراسر جهان هم توجه کنید، کلاسهای زیادی وجود دارد. به عنوان مثال ماشین ،بانک ،پرنده ،دانشجو ،کارمند و غیره مثالهای بسیار ساده ای برای درک این موضوع هستند.تعریف کلاس با کلمه class شروع می شود. مثال: {} class Mobileخودِ کلاس متشکل از متدها و متغییرهای مختلف است.برای فراخوانی اشیاء کلاس سایر کلاسها باید متد اصلی با کلید واژه استاتیک وجود داشته باشد. زیرا با استفاده از کلمه استاتیک حتی اگر اشیاء آن را ایجاد نکنید، فراخوانی می شود.کلاس ها با سطوح دسترسی ویژه ای ارائه می شوند که بصورت default, public, private and protected می باشند.شیء (Object) چیست؟شیء یا آبجکت نمونه ای از کلاس است. درک مفهوم آبجکت در هنگام در نظر گرفتن مثالهای زندگی واقعی در اطراف ما بسیار ساده تر است زیرا آبجکت در واقع مبتنی بر اشیاء زندگی واقعی است. بنابراین فقط کافی است تا به اطراف خود نگاه کنید و خود را با تعداد زیادی اشیاء تصور کنید که هرکدام دارای خصوصیات و رفتارهای خاصی هستند.به عنوان مثال: موبایل شما، نمونه ای از شیء است که دارای ویژگی های زیادی مانند رنگ، رم، دوربین و غیره و رفتارهایی مانند تماس، پیام رسانی و غیره است!نحوه ایجاد کلاس در JAVA:فرض کنید موبایل یک کلاس است که می خواهیم نام آبجکت آنرا elecomco بگذاریم. در زیر کد://Object elecomco is declared Mobile elecomco; //Object is created using new keyword elecomco = new Mobile();همچنین می توانید آبجکت مورد نظر خود را از طریق کد زیر ایجاد نمایید.Mobile elecomco = new Mobile();شی را می توان به عنوان حالت (state)، رفتار کلاس (behavior) تعریف کرد.اشیاء متغیر نمونه ای از کلاس هستند.اشیاء از طریق منابع ذخیره می شوند.اشیاء با کلمه کلیدی new در جاوا ایجاد می شوند. مثال: Mobile abhi = new Mobileهر شیء حافظه خاص خود را دارد.اشیاء کلاس از هم نوع می توانند با یکدیگر تعامل داشته باشند به این معنی که می توانید پیام خود را از یک شی به شی دیگر منتقل کنید.نکته مهم: شی از یک کلاس ایجاد می شود و روش ها یا اعمالی روی شی انجام می شود.برای مشاهده مثالی از کلاس در جاوا می توانید اینجا مراجعه کنید