در دنیای واقعی یک شیء جدای از دیگر اشیاء می تواند وجود داشته باشد، با دیگر اشیاء تعامل داشته باشد و حتی چند شیء با یکدیگر ادغام شده تا شیء جدیدی را به وجود آورند. در واقع این فصل از دوره ی آموزش زبان برنامه نویسی جاوا به منزله ی شروع کار با Object ها یا همان اشیاء در این زبان برنامه نویسی خواهد بود. از اینجای آموزش به بعد خواهیم دید که چه طور می توان یک Object با خصوصیات منحصر به فردی ایجاد کرده و همچنین خواهیم دید که به چه نحوی می توان آن شیء را در دیگر جاهای برنامه خود مورد استفاده قرار داد.
در حقیقت اگر یک برنامه نوشته شده در جاوا را به منزله تعدادی Object در نظر بگیریم که در کنار یکدیگر قرار گرفته اند تا یک Object بزرگ تر از خود را -که کار خاصی را می تواند انجام دهد- بسازد (به عبارتی یک برنامه)، به سهولت خواهیم توانست Object ها را در یک زبان برنامه نوسی شیء گرا درک کنیم. در حقیقت با ساخت یک شیء در برنامه خود، خواهیم توانست آن شیء را به هر تعداد دفعه که بخواهیم مورد استفاده قرار دهیم و یا حتی چنانچه نیاز به تغییری در یکی از Attribute ها یا همان خصوصیات شیء خاص داشته باشیم، صرفاً با اعمال تغییر در آن شیء به خصوص، تغییر اعمال شده در کل برنامه لحاظ خواهد شد.
از سوی دیگر با ایجاد Object ها در یک کدنویسی، امکان Debug کردن یا مشکل یابی نیز برای ما راحت تر خواهد شد چرا که به جای درگیر کردن خود با کل پروژه، صرفاً می توانیم Object یی که به آن مشکوک هستیم را Debug کنیم. برای آشنایی بیشتر با فرایند دیباگ کردن، می توانید به آموزش از دوره ی آموزش اصول برنامه نویسی در سکان آکادمی مراجعه نمایید.
در حقیقت یک شیء در زبان های برنامه نویسی شیء گرا دارای دو چیز تحت عنوان Attribute و Behavior می باشد. به طور خلاصه Attribute ها عبارتند از ویژگی هایی که یک شیء را از شیء دیگری در برنامه متفاوت می سازند. منظور از Behavior ها همان کارهایی است که یک Object می تواند انجام دهد. در زبان برنامه نویسی جاوا، Object ها با استفاده از یک Class ایجاد می شوند. در حقیقت یک Class در برگیرنده کلیه Attribute ها و Behavior هایی است که یک Object می تواند داشته باشد.
اکنون نیاز است پروژه ای تحت عنوان OOP به معنی "برنامه نویسی شیء گرایی" ایجاد می کنیم سپس کلاسی به نام MyClass در آن می سازیم. در این مرحله کد ما می بایست به شکل زیر باشد:
public class MyClass {
}
نام این کلاس MyClass به معنی "کلاس من" می باشد. حال اگر یک Object از روی این کلاس ایجاد کنیم، آن Object هیچ کاری برای ما نخواهد کرد زیرا که دارای هیچ گونه Attribute و یا Behavior یی نمی باشد. معنی لغوی واژه public معادل است با "عمومی" و یا "همگانی" و در زبان برنامه نویسی جاوا نیز معنی این کلید واژه چیزی مرتبط با همین معانی است. با قرار دادن کلید واژه public قبل از نام یک کلاس -و یا حتی یک متد- این دستور را به کامپایلر می دهیم که این کلاس یا متد قابل دسترسی توسط دیگر بخش های برنامه نیز خواهد بود (در آموزش های آتی، با دیگر سطوح کنترل همچون private و protected نیز آشنا خواهیم شد.) حال نیاز داریم تا یک Attribute برای شیء خود تعریف کنیم. این کار را می توان از طریق انواع متغیرها که پیش از این مورد بررسی قرار گرفتند انجام داد. از این رو، یک متغیر از جنس int در کلاس خود به اسم number به معنی "شماره" ایجاد کرده و مقدار اختصاص داده شده به آن را معادل با 1 در نظر می گیریم. حال نوبت به ایجاد یک Behavior برای کلاس خود می رسد. برای همین منظور از یک Method استفاده خواهیم کرد. به طور خلاصه وظیفه متدها انجام یکسری کارها است که به آن ها محول می شود و در این برنامه وظیفه متدی که ما می سازیم این است که در پنجره ی کنسول، جمله ای را به نمایش در آورد. متد ما به شکل زیر خواهد بود:
public void showSomething() {
}
در واقع با قرار دادن کلید واژه public قبل از نام متد این دستور را به کامپایلر می دهیم که این متد از هر کجای برنامه قابل دسترس خواهد بود. کلید واژه void به این معنی است که این متد از یک سو قرار است دستوری انجام دهد و از سوی دیگر این متد قرار نیست که هیچ گونه Data یا داده ای را بازگرداند. به عبارت دیگر این متد چیزی را return نخواهد کرد (در آموزش های آتی با مبحث return به طور مفصل آشنا خواهیم شد.) سپس نام متد تحت عنوان showSomething به معنی "چیزی را نشان بده" قرار می دهیم.
نکته
چیزی که برنامه نویسان کل دنیا در نام گذاری متدها همواره مد نظر دارند این است که این نام گذاری می بایست با یک فعل شروع شود چرا که وظیفه اصلی متد های انجام یکسری کار است پس بهتر است که نحوه نامگذاری آن ها هم به نحوی باشد که گویای وظیفه شان باشد. در این مثال از آنجا که این متد قرار است متنی را روی صفحه مانیتور به نمایش در آورد، پس نام آن را نیز با واژه show به معنی "نشان دادن" آغاز می کنیم.
پس از نام متد علامت () را قرار داده سپس علامت های { } را قرار می دهیم (هر کاری که متدها قرار است انجام دهند می بایست مابین دو علامت { } قرا گیرند و چنانچه نیاز است متد دارای Attribute های اضافی باشد می بایست داخل ( ) قرار گیرند که تحت عنوان پارامترها یا آرگومان های آن متد شناخته می شوند.) حال داخل دو علامت { } دستوری را می نویسیم که جمله "این اولین متد ساخت من است" را داخل کنسول به نمایش در آورد. در این مرحله کد ما به شکل زیر تکمیل خواهد شد:
public class MyClass {
int number = 1;
public void showSomething() {
System.out.println("This is my method " + number + " created by me.");
}
}
در واقع دستوری که داخل ;()System.out.println قرار گرفته است در وهله ی اول عبارت This is my method را چاپ کرده سپس مقدار متغیر برنامه تحت عنوان number را به آن اضافه کرده و در نهایت عبارت .created by me را به آخر استرینگ اضافه می کند. در محیط برنامه نویسی اکلیپس
در حقیقت اگر یک برنامه نوشته شده در جاوا را به منزله تعدادی Object در نظر بگیریم که در کنار یکدیگر قرار گرفته اند تا یک Object بزرگ تر از خود را -که کار خاصی را می تواند انجام دهد- بسازد (به عبارتی یک برنامه)، به سهولت خواهیم توانست Object ها را در یک زبان برنامه نوسی شیء گرا درک کنیم. در حقیقت با ساخت یک شیء در برنامه خود، خواهیم توانست آن شیء را به هر تعداد دفعه که بخواهیم مورد استفاده قرار دهیم و یا حتی چنانچه نیاز به تغییری در یکی از Attribute ها یا همان خصوصیات شیء خاص داشته باشیم، صرفاً با اعمال تغییر در آن شیء به خصوص، تغییر اعمال شده در کل برنامه لحاظ خواهد شد.
از سوی دیگر با ایجاد Object ها در یک کدنویسی، امکان Debug کردن یا مشکل یابی نیز برای ما راحت تر خواهد شد چرا که به جای درگیر کردن خود با کل پروژه، صرفاً می توانیم Object یی که به آن مشکوک هستیم را Debug کنیم. برای آشنایی بیشتر با فرایند دیباگ کردن، می توانید به آموزش از دوره ی آموزش اصول برنامه نویسی در سکان آکادمی مراجعه نمایید.
در حقیقت یک شیء در زبان های برنامه نویسی شیء گرا دارای دو چیز تحت عنوان Attribute و Behavior می باشد. به طور خلاصه Attribute ها عبارتند از ویژگی هایی که یک شیء را از شیء دیگری در برنامه متفاوت می سازند. منظور از Behavior ها همان کارهایی است که یک Object می تواند انجام دهد. در زبان برنامه نویسی جاوا، Object ها با استفاده از یک Class ایجاد می شوند. در حقیقت یک Class در برگیرنده کلیه Attribute ها و Behavior هایی است که یک Object می تواند داشته باشد.
اکنون نیاز است پروژه ای تحت عنوان OOP به معنی "برنامه نویسی شیء گرایی" ایجاد می کنیم سپس کلاسی به نام MyClass در آن می سازیم. در این مرحله کد ما می بایست به شکل زیر باشد:
public class MyClass {
}
نام این کلاس MyClass به معنی "کلاس من" می باشد. حال اگر یک Object از روی این کلاس ایجاد کنیم، آن Object هیچ کاری برای ما نخواهد کرد زیرا که دارای هیچ گونه Attribute و یا Behavior یی نمی باشد. معنی لغوی واژه public معادل است با "عمومی" و یا "همگانی" و در زبان برنامه نویسی جاوا نیز معنی این کلید واژه چیزی مرتبط با همین معانی است. با قرار دادن کلید واژه public قبل از نام یک کلاس -و یا حتی یک متد- این دستور را به کامپایلر می دهیم که این کلاس یا متد قابل دسترسی توسط دیگر بخش های برنامه نیز خواهد بود (در آموزش های آتی، با دیگر سطوح کنترل همچون private و protected نیز آشنا خواهیم شد.) حال نیاز داریم تا یک Attribute برای شیء خود تعریف کنیم. این کار را می توان از طریق انواع متغیرها که پیش از این مورد بررسی قرار گرفتند انجام داد. از این رو، یک متغیر از جنس int در کلاس خود به اسم number به معنی "شماره" ایجاد کرده و مقدار اختصاص داده شده به آن را معادل با 1 در نظر می گیریم. حال نوبت به ایجاد یک Behavior برای کلاس خود می رسد. برای همین منظور از یک Method استفاده خواهیم کرد. به طور خلاصه وظیفه متدها انجام یکسری کارها است که به آن ها محول می شود و در این برنامه وظیفه متدی که ما می سازیم این است که در پنجره ی کنسول، جمله ای را به نمایش در آورد. متد ما به شکل زیر خواهد بود:
public void showSomething() {
}
در واقع با قرار دادن کلید واژه public قبل از نام متد این دستور را به کامپایلر می دهیم که این متد از هر کجای برنامه قابل دسترس خواهد بود. کلید واژه void به این معنی است که این متد از یک سو قرار است دستوری انجام دهد و از سوی دیگر این متد قرار نیست که هیچ گونه Data یا داده ای را بازگرداند. به عبارت دیگر این متد چیزی را return نخواهد کرد (در آموزش های آتی با مبحث return به طور مفصل آشنا خواهیم شد.) سپس نام متد تحت عنوان showSomething به معنی "چیزی را نشان بده" قرار می دهیم.
نکته
چیزی که برنامه نویسان کل دنیا در نام گذاری متدها همواره مد نظر دارند این است که این نام گذاری می بایست با یک فعل شروع شود چرا که وظیفه اصلی متد های انجام یکسری کار است پس بهتر است که نحوه نامگذاری آن ها هم به نحوی باشد که گویای وظیفه شان باشد. در این مثال از آنجا که این متد قرار است متنی را روی صفحه مانیتور به نمایش در آورد، پس نام آن را نیز با واژه show به معنی "نشان دادن" آغاز می کنیم.
پس از نام متد علامت () را قرار داده سپس علامت های { } را قرار می دهیم (هر کاری که متدها قرار است انجام دهند می بایست مابین دو علامت { } قرا گیرند و چنانچه نیاز است متد دارای Attribute های اضافی باشد می بایست داخل ( ) قرار گیرند که تحت عنوان پارامترها یا آرگومان های آن متد شناخته می شوند.) حال داخل دو علامت { } دستوری را می نویسیم که جمله "این اولین متد ساخت من است" را داخل کنسول به نمایش در آورد. در این مرحله کد ما به شکل زیر تکمیل خواهد شد:
public class MyClass {
int number = 1;
public void showSomething() {
System.out.println("This is my method " + number + " created by me.");
}
}
در واقع دستوری که داخل ;()System.out.println قرار گرفته است در وهله ی اول عبارت This is my method را چاپ کرده سپس مقدار متغیر برنامه تحت عنوان number را به آن اضافه کرده و در نهایت عبارت .created by me را به آخر استرینگ اضافه می کند. در محیط برنامه نویسی اکلیپس