شیء گرایی در زبان برنامه نویسی جاوا

*بانو بهار*

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/08/15
ارسالی ها
3,937
امتیاز واکنش
10,965
امتیاز
804
محل سکونت
میان شکوفه‌ها
در دنیای واقعی یک شیء جدای از دیگر اشیاء می تواند وجود داشته باشد، با دیگر اشیاء تعامل داشته باشد و حتی چند شیء با یکدیگر ادغام شده تا شیء جدیدی را به وجود آورند. در واقع این فصل از دوره ی آموزش زبان برنامه نویسی جاوا به منزله ی شروع کار با Object ها یا همان اشیاء در این زبان برنامه نویسی خواهد بود. از اینجای آموزش به بعد خواهیم دید که چه طور می توان یک Object با خصوصیات منحصر به فردی ایجاد کرده و همچنین خواهیم دید که به چه نحوی می توان آن شیء را در دیگر جاهای برنامه خود مورد استفاده قرار داد.

در حقیقت اگر یک برنامه نوشته شده در جاوا را به منزله تعدادی Object در نظر بگیریم که در کنار یکدیگر قرار گرفته اند تا یک Object بزرگ تر از خود را -که کار خاصی را می تواند انجام دهد- بسازد (به عبارتی یک برنامه)، به سهولت خواهیم توانست Object ها را در یک زبان برنامه نوسی شیء گرا درک کنیم. در حقیقت با ساخت یک شیء در برنامه خود، خواهیم توانست آن شیء را به هر تعداد دفعه که بخواهیم مورد استفاده قرار دهیم و یا حتی چنانچه نیاز به تغییری در یکی از Attribute ها یا همان خصوصیات شیء خاص داشته باشیم، صرفاً با اعمال تغییر در آن شیء به خصوص، تغییر اعمال شده در کل برنامه لحاظ خواهد شد.

از سوی دیگر با ایجاد Object ها در یک کدنویسی، امکان Debug کردن یا مشکل یابی نیز برای ما راحت تر خواهد شد چرا که به جای درگیر کردن خود با کل پروژه، صرفاً می توانیم Object یی که به آن مشکوک هستیم را Debug کنیم. برای آشنایی بیشتر با فرایند دیباگ کردن، می توانید به آموزش
Please, ورود or عضویت to view URLs content!
از دوره ی آموزش اصول برنامه نویسی در سکان آکادمی مراجعه نمایید.

در حقیقت یک شیء در زبان های برنامه نویسی شیء گرا دارای دو چیز تحت عنوان 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 را به آخر استرینگ اضافه می کند. در محیط برنامه نویسی اکلیپس
 
  • پیشنهادات
  • *بانو بهار*

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/08/15
    ارسالی ها
    3,937
    امتیاز واکنش
    10,965
    امتیاز
    804
    محل سکونت
    میان شکوفه‌ها
    این تصویر فلش قرمز رنگ نشان دهنده نام پروژه ای است که در ابتدای هر آموزش ایجاد می کنیم که در این آموزش نام OOP در نظر گرفته شده است. فلش سبز رنگ نشانگر پکیجی است که در حین ایجاد یک کلاس جدید می توانیم ایجاد کنیم. به خاطر داشته باشیم که وظیفه هر پکیج این است که به ما کمک کند تا کلاس هایی را که نیاز است تا در یک گروه باشند را در کنار یکدیگر قرار دهیم. حال اگر در حین ساخت یک کلاس نام پکیجی در نظر گرفته نشود، اکلیپس به طور خودکار این کار را تحت عنوان default package به معنی "پکیج پیش فرض" انجام خواهد داد. در این مرحله روی نام پیکج کلیک راست کرده و از پنجره ای که باز می شود گزینه New را انتخاب کرده و از پنجره دوم گزینه Class را انتخاب می کنیم که در تصویر فوق با فلش آبی رنگ نشان داده شده است (به منظور ساخت یک کلاس جدید از منوی File می توان گزینه New سپس گزینه Class را انتخاب کرد.) در ادامه، نامی که برای کلاس خود در نظر می گیریم می تواند MySecondClass به معنی "کلاس دوم من" باشد. سپس پیش از زدن دکمه Finish گزینه (public static void main(String[] args را تیک می زنیم. فایده این کار این است که دیگر نیازی نیست تا متد main را به طور دستی وارد کلاس جدید خود کنیم. پس از ایجاد کلاس جدید، کلاس به طور خودکار در پنجره ای جدید باز شده کد داخل آن به شکل زیر خواهد بود:

    public class MySecondClass {
    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    }
    }
    همان طور که قبلا توضیح داده شده است، کلیه ی کامنت ها از داخل کد قابل حذف بوده و هیچ تاثیری در فرایند اجرای برنامه نخواهند داشت. این کلاس جدیدی که ایجاد کردیم بر خلاف کلاس اول، این قابلیت را دارا است که هر آنچه در آن قرار گیرد را اجرا کند چرا که داخل آن متد main گنجانده شده است. حال می خواهیم تا یک Object از روی کلاس قبلی خود در این کلاس ایجاد کنیم. برای این منظور کد خود را به شکل زیر تکمیل می کنیم:

    public class MySecondClass {
    public static void main(String[] args) {
    MyClass newObject = new MyClass();
    }
    }
    برای این کار نام کلاس قبلی خود را نوشته سپس برای این Object یی که می خواهیم بسازیم یک نام می بایست در نظر بگیریم. نامی که در اینجا می توان در نظر گرفت newObject به معنی "شیء جدید " می باشد (لازم به ذکر است که هر نامی برای این شیء می توان در نظر گرفت.) سپس یک علامت مساوی قرار داده و از آنجا که قرار است یک شیء جدید ایجاد کنیم، از کلید واژه ی new استفاده خواهیم کرد و در نهایت مجدداً نام کلاسی که می خواهیم از روی آن یک شیء درست کنیم را نوشته و یک علامت ;() هم در انتهای آن قرار می دهیم. برای آن که این شیء ساخته شده را بتوانیم مورد استفاده قرار دهیم، می بایست نام Object یی که ساخته ایم را نوشته سپس بعد از آن یک نقطه قرار داده و در نهایت نام متدی که در کلاس قبلی ایجاد کرده بودیم را بنویسیم که در این صورت کد ما به شکل زیر در خواهد آمد (به عبارت دیگر، این متد قرار گرفته داخل کلاس است که می توان کاری مثل نمایش یک متن را عملی سازد که بدون فرا خواندن این متد، شیء ما هیچ کاری نخواد کرد):

    public class MySecondClass {
    public static void main(String[] args) {
    MyClass newObject = new MyClass();
    newObject.showSomething();
    }
    }
    تا اینجای کار ما توانسته ایم با موفقیت یک شیء جدید بسازیم که کلیه Attribute
     

    برخی موضوعات مشابه

    بالا