مترجم: حبیب الله علیخانی
منبع:راسخون
منبع:راسخون
ویرایشگر سورس Source Editor
ویرایشگر سورس کد برنامه مهمترین ناحیه ی netbeans است. جایی است که توسعه دهندگان، کد های جدید را در آنجا می نویسند، روی کد های موجود کار میکنند، مستندات خورشان را تصحیح و پالایش می کنند و کارهای مهمی را انجام می دهند. ویرایشگر کد netbeans نه فقط مکانیزمی برای نوشتن متن است بلکه یک محیط کاملا برجسته برای کمک به شما طراحی شده است. خواه اختصاراتی برای برنامه نویسی ارائه می دهد ، یا به طور اتوماتیک کد را کامل می کند یا اینکه ابزار کمکی مستند سازی و هدایت را ارائه می دهد. هدف ویرایشگر کد این است که همه ی تسهیلات ممکن را فراهم کند.در این قسمت ما سعی می کنیم مشخصه های اصلی فراهم شده در ویرایشگر کد را معرفی کنیم ویرایشگر کد netbeans 7 ساختار کاملا جدیدی دارد مثل ترکیب رنگ ظاهری، قالب بندی کد، refactor کردن، و غیره ...
در Source Editor دو پنجره ی project و file داریم که جداگانه به آنها می پردازیم.
الف - پنجره project
قبل از اینکه بتوانیم فایل ها را در ویرایشگر کد باز کنیم و کار کنیم باید بتوانیم پنجره peoject و file را مدیریت کنیم.پنجره project مکان اصلی است که شما میتوانید فایل های مربوط به برنامه تان را ببینید و ساختار درختی دارد که ریشه آن پروژه شما است و فرزندان آن دسته بندی ای است که netbeans برای فایل ها ، سازماندهی کرده است .
برای اکثر پروژه های جاوا، فایل ها به صورت دسته های زیر هستند :
1- Source packages
2- Libraries
3- Test packages
4- Test Libraries
1- Source packages
Package
به پکیج در زبانهای دیگر مثل دات نت، namespace گویند. درمهندسی نرم افزار هنگام کار با uml ، چون کلاسها هم گروه هستند آنها را در یک پکیج قرار می دهیم بعد پکیج ها را از همدیگر import یا uses می کنیم ، چون پکیج ها از کلاسهای همدیگر استفاده می کنند. ( البته uml بر اساس زبان جاوا ایجاد شده ).پکیج ها برای دسته بندی بهتراند،
Source packages
این پکیج مکانی است که سورس کد های جاوا و کلاسها یی که برای برنامه استفاده می شود در آن تعریف می شود.و برای دسته بندی کلاسها استفاده می شود. به راحتی می توان در اینجا package اضافه یا کم کرد.در جاوا به طور اتوماتیک پکیج ها import می شوند یعنی اگر درکلاسی از یک پکیج ، از کلاس پکیج دیگر استفاده شود به محض استفاده پکیج، آن بالا import می شود.
فرضا ما دو کلاس tester وstudent در دو پکیج جداگانه داریم ومی خواهیم در کلاس tester ازکلاس student استفاده کنیم،
Default package
پکیج default یعنی همان بدون پکیج .اگر کلاسی که در پکیج default است را باز کنید قسمت بالا هیچ کلمه ی پکیجی ننوشته :
ایجاد package جدید
در ابتدا ما باید یک پروژه داشته باشیم که یک پروژه به نام Creatingpackages (نام پروژه بدون space باشد) می سازیم1- روی نام پروژه creatingpackages راست کلیک می کنیم
2- New را انتخاب می کنیم و روی java package … کلیک می کنیم
3- در بخش package name نام package را وارد می کنیم (student )
4- قسمت Location که پیش فرض source Package است در نظر می گیریم
5- Finish را کلیک می کنیم.
یک package خالی درست زیرmain نشان داده می شود.
اگر رنگ package خاکستری بود یعنی خالی است و کلاسی در آن وجود ندارد.
• همچنین زمانی که یک کلاس جدید را ایجاد می کنیم و پکیج آنرا تعیین نکنیم به طور اتوماتیک یک پکیج default ساخته می شود.( اگر پکیج default وجود داشت، در آن ساخته می شود):
کلاسها در جاوا
ایجاد کلاس ( class )
حرف اول نامی که برای Class خود انتخاب می نمایید می بایست با حرف بزرگ شروع شود. در حقیقت برای نامگذاری یک Class شما نمی توانید از , و- و فضای خالی استفاده کنید. تنها علامت نگارشی که در نامگذاری یک کلاس می توان استفاده کرد _ می باشد.فرضا یک پروژه به نام oop (نام پروژه بدون space باشد) داریم.
1- روی نام پروژه( oop) راست کلیک کرده و new و سپس java class… را انتخاب می کنیم
2- در پنجره باز شده در قسمتclass name نام کلاس را ( MyClass) را وارد می کنیم.
3- در قسمت های دیگر location و package مورد نظر را انتخاب می کنیم.
(اگر در حین ساخت یک کلاس نام پکیجی در نظر گرفته نشود، netbeans به طور خودکار این کار را تحت عنوان default package به معنی "پکیج پیش فرض" انجام خواهد داد.)
4- Finish را کلیک می کنیم.
کلاس ما به شکل زیر ساخته می شود :
فایل های دیگر هم با این روش ساخته می شود که باید از مسیر زیر رفت و از other پروژه و فایل مورد نظر را انتخاب کرد:
اجرای کلاس Main
با استفاده از Netbeans می توان به راحتی کلاس main را کامپایل و اجرا کرد. یک پروژه با کلاس main ایجاد می کنیم و در قسمت تابع Main() دستورات زیر را وارد می کنیم:System.out.println("Main class output");
اکنون فایل Main.java را از تب project انتخاب کرده و روی ان کلیک راست کرده و Run File را انتخاب می کنیم.
همانطور که در تصویر زیر مشاهده می کنید خروجی در پایین صفحه در بخش output نشان داده شده که برای مثال این دستور عبارت main class output را چاپ کرده.
چون این دستور به درستی اجرا شده و با خطا مواجه نشد، جمله ی BUILD SUCCESSFUL را چاپ کرده است.
البته با فشردن Shift + F6 هم می توان اجرا کرد.
اجرای کلاس از طریق کلاس Main
کلاس هسته اصلی جاوا است . کلاس شکل دهنده اساس برنامه نویسی شی گرا در جاوا می باشد .هر مفهومی که می خواهید در یک برنامه جاوا پیاده سازی نمایید باید ابتدا داخل یک کلاس کپسول سازی شود .کلاس یک نوع جدید داده را تعریف می کند . هربار که این نوع تعریف شود ، می توان از آن برای ایجاد اشیائی از همان نوع استفاده نمود.بنابراین ، یک کلاس قالبی (template) برای یک شی و یک شی نمونه ای از یک کلاس است . چون شی یک نمونه (instance) از یک کلاس است غالبا کلمات نمونه (instance) و شی (object) را بصورت مترادف بکار می بریم.
با ساخت یک شیئ در برنامه خود، خواهیم توانست آن شیئ را به هر تعداد دفعه که بخواهیم مورد استفاده قرار دهیم و یا حتی چنانچه نیاز به تغییری در یکی از Attribute ها یا همان خصوصیات شیئ خاص داشته باشیم، با اعمال تغییر در آن شیئ به خصوص تغییر اعمال شده در کل برنامه لحاظ خواهد شد .از سوی دیگر با ایجاد Object ها در یک برنامه امکان Debug کردن یا مشکل یابی نیز برای ما راحت تر خواهد شد چون بجای درگیر کردن خود با کل پروژه، صرفاً می توانیم Object مورد نظر را Debug کنیم. Class خود به تنهایی منجر به ایجاد چیزی نخواهد شد چرا که Class یک مفهوم انتزاعی است و چنانچه بخواهیم نمود عینی یک Class را ببینیم به یک Object نیاز داریم
یک شیئ در زبان برنامه نویسی شیئ گرا دارای دو چیز تحت عنوان Attribute و Behavior می باشد. Attributeها عبارتند از ویژگی هایی که یک شیئ را از شیئ دیگری در برنامه متفاوت می سازند. منظور از Behavior ها همان کارهایی است که یک Object می تواند انجام دهد. یک Class در برگیرنده کلیه Attribute ها و Behavior هایی است که یک شی خواهد داشت.
در قبل پروژه ای تحت عنوان OOP به معنی "برنامه نویسی شیئ گرایی" و سپس کلاسی به نام MyClass در آن ایجاد کرده ایم فرض می کنیم هنگام ساخت پروژه تیک کلاس main را نگذاشتیم.
حال اگر یک Object از روی این کلاس ایجاد کنیم، آن Object هیچ کاری برای ما نخواهد کرد زیرا که دارای هیچ گونه Attribute و یا Behavior نمی باشد. حال نیاز داریم تا یک Attribute برای شیئ خود تعریف کنیم. این کار را می توان از طریق انواع متغیرها انجام داد. از این رو، یک متغیر از جنس int در کلاس خود به اسم number ایجاد کرده و یک مقدار به آن می دهیم.
بعد نوبت به ایجاد یک Behavior برای کلاس خود می رسد و برای همین منظور از یک متد استفاده خواهیم کرد. به طور خلاصه وظیفه Method ها انجام یکسری کارها است که به آن ها محول می شود و در این برنامه وظیفه متدی که ما می سازیم این است که جمله ای را به نمایش در آورد . متد ما به شکل زیر خواهد بود:
public void show () { }
معنی لغوی واژه public معادل است با "عمومی". با قرار دادن کلمه کلیدی public قبل از نام یک کلاس و یا حتی متد، یعنی، قابل دسترسی توسط دیگر بخش های برنامه نیز خواهد بود.
کلمه کلیدی void به این معنی است که این متد قرار است دستوری انجام دهد و هیچ گونه داده ای را بر نمی گرداند. به عبارت دیگر این متد return نخواهد داشت. سپس نام متد تحت عنوان show با معنی " نشان بده" قرار می دهیم.
نکته ای که برنامه نویسان کل دنیا در نام گذاری متد ها همواره مد نظر دارند این است که این نام گذاری می بایست با یک فعل شروع شود چرا که وظیفه اصلی متد های انجام یکسری کار است پس بهتر است که نحوه نامگذاری آن ها هم به نحوی باشد که گویای وظیفه شان باشد .
پس از نام متد علامت () را قرار داده سپس علامت { } را قرار می دهیم . هر کاری که متدها قرار است انجام دهند می بایست مابین دو علامت { } قرا گیرند و چنانچه نیاز است متد دارای Attribute های اضافی باشد می بایست داخل ( ) قرار گیرند که تحت عنوان پارامترهای آن متد شناخته می شوند. حال داخل دو علامت { } دستوری را می نویسیم که در اینجا خواستیم چیزی را چاپ کند و عین عبارت دستور را می نویسیم. تا این جای کار ما یک کلاس ایجاد کرده ایم که می توانیم از روی آن یک Object یا شی ایجاد کنیم.
اکنون اجرا می کنیم اما برنامه ما با مشکلی مواجه می باشد و netbeans از برنامه خطا می گیرد. عبارتی که در تصویر مشاهده می شود می گوید که "کلاس ما دارای یک نقطه شروع نمی باشد".
یک برنامه جاوا برای آن بتواند اجرا شود نیاز به یک متد از جنس main دارد .در واقع هرآنچه که در این متد قرار گیرد، به محض اجرای برنامه فرا خوانده خواهد شد. برای این منظور نیاز داریم تا یک کلاس جدید ایجاد کرده که به منزله نقطه آغازین برنامه ما خواهد بود و در کلاس جدید خود از روی کلاس MyClass یک شیئ جدید ایجاد کرده و مورد استفاده قرار دهیم. اکنون یک کلاس جدید به نام main از طریق روشی که در بالا گفته شد ایجاد می کنیم.
اگرهنگام ایجاد پروژه تیک کلاس main را می گذاشتیم به طور اتوماتیک کلاس main را می ساخت. اکنون فرض کردیم که این کار انجام نداده ایم و کلاس main را خودمان دستی ساخته ایم. که به صورت زیر است:
برای این کار نام کلاس قبلی خود را نوشته سپس برای این Object یی که می خواهیم بسازیم یک نام می بایست در نظر بگیریم. نامی که در اینجا می توان در نظر گرفت newObject به معنی "شیئ جدید " می باشد (لازم به ذکر است که هر نامی برای این شیئ می توان در نظر گرفت). سپس یک علامت مساوی قرار داده و از آنجا که قرار است یک شیئ جدید ایجاد کنیم از کلید واژه new استفاده خواهیم کرد و در نهایت مجدداً نام کلاسی که می خواهیم از روی آن یک شیئ درست کنیم را نوشته و یک علامت (); هم در انتهای آن قرار می دهیم
اما برای آنکه این شیئ ساخته شده را بتوانیم مورد استفاده قرار دهیم، می بایست نام Object یی که ساخته ایم را نوشته سپس بعد از آن یک نقطه قرار داده و در نهایت نام متدی که در کلاس قبلی ایجاد کرده بودیم را بنویسیم که در این صورت کد ما به شکل زیر در خواهد آمد. ( به عبارت دیگر این متد داخل کلاس است که می توان کاری مثل نمایش یک متن را عملی سازد که بدون فرا خواندن این متد شیئ ما هیچ کاری نخواد کرد) :
تا اینجای کار ما توانسته ایم با موفقیت یک شیئ جدید بسازیم که کلیه Attribute ها و Behavior های خود را از کلاس MyClass به ارث خواهد برد. در این آموزش ما توانستیم یک Object جدید ایجاد کرده که در صورت اجرای برنامه، خروجی آن به شکل زیر خواهد بود:
حال اگر به Class اول خود بازگردیم و تغییری در متد آن ایجاد کنیم، این تغییر بلافاصله در Object یی که از روی آن کلاس ایجاد کردیم اعمال خواهد شد. به طور مثال دستور زیر را در کلاس MyClass قرار دهیم :
System.out.println("this book is blue");
مجدداً به کلاس main رفته و برنامه را اجرا می کنیم ، خروجی برنامه به شکل زیر خواهد بود:
مشاهده می کنیم که به چه راحتی می توان در زبان برنامه نویسی جاوا یک Object ایجاد کرده و Attribute ها و Behavior های مرتبط با آن را در لحظه تغییر داد .
2- libraries
شاخه libraries برای تعریف کلاس کتابخانه ها که در پروژه تان استفاده می شود است. اگر شما نیاز دارید که از کتابخانه ها و کلاسهای یک پروژه خارجی استفاده کنیدمی توانید آن را زیر شاخه ی کتابخانه اضافه کنید.اضافه کردن JAR فایل ها به پروژه :
معرفی 2 jar فایل در قالب یک libraries به netbeans
ابتدا از منوی tools گزینه ی libraries را انتخاب می کنیم :از صفحه باز شده گزینه ی New Library… را انتخاب می کنیم :
یک نام به آن اختصاص می دهیم مثلا MySQL_JarFiles و به Class Libraries اضافه می کنیم :
که به پنجره سمت چپ اضافه می شود.
روی ان کلیک می کنیم و از سمت راست گزینه ی Add Jar/Folder… را انتخاب می کنیم :
و دو Jar file ای که می خواهیم اضافه کنیم را انتخاب می کنیم :
وقتی مرحله قبل انجام شد این دو Jar file به صورت زیر مشاهده می شود ، بعد ok می کنیم تا ساخته شود :
اضافه کردن library ساخته شده به پروژه
ابتدا روی نام پروژه کلیک راست کرده و گزینه ی properties را انتخاب می کنیم :
در صفحه باز شده از شاخه Libraries گزینه ی Add Library… را انتخاب می کنیم :
در لیست باز شده MySQL_jarFiles را که در قبل ساخته بودید را انتخاب می کنیم و گزینه ی Add Libraries… را کلیک می کنیم :
این صفحه را هم ok می کنیم :
می بینیم که در شاخه ی Libraries این دو JarFile اضافه شده :
3- Test Packages
اگر شاخه ی test packages را نمی بینید باید jar file های test unit مانند junit را اضافه کنید، یا از طریق زیر مستقیما از اینترنت دانلود کنید ، برای این کار باید مسیر زیر را طی کنید:روی نام پروژه کلیک راست کرده و New سپس JUnit را انتخاب می کنیم:
یک نام مانند زیر وارد می کنیم:
ورژن را انتخاب می کنیم:
مستقیما دانلود می کنیم:
سپس next را انتخاب می کنیم:
در زیر گزینه accept را انتخاب و نصب می کنیم:
بعد از نصب در شاخه ی test libraries می بینیم که jar file مربوط به junit اضافه شده است.
سورس کد های test packages با سورس کد های قسمت source packages جداست. شما می توانید تفاوت را با راست کلیک رو پروژه و انتخاب properties مشاهده کنید ،
مانند تصویر زیر که یک قسمت به پوشه ی source packages و قسمت دیگر به پوشه ی test packages مربوط می شود.
4- Test Libraries
مشابه شاخه ی libraries این شاخه مربوط به کلاسها و Jar file های پروژه است.شما می توانید فایلها را به test libraries از طریق زیر اضافه کنید:
روی شاخه ی test libraries راست کلیک می کنید و گزینه ی Add JAR/Folder را انتخاب می کنید.معمولا jarfile برای JUnit به طور پیشفرض وجود دارد وگرنه به طریق گفته شده در قبل اضافه می کنید.
ب- پنجره ی Files
پنجره file اطلاعات یکسانی با پنجرهproject دارد امادر شکل زیر مجموعه ای از فایل ها را می بینید.که پوشه ی src برای source packages و پوشه ی test برای test package و پوشه ی nbproject که شامل تنظیمات داخلی پروژه مربوطه است
اگر یک پروژه را build کنید یک دایرکتوری build در این لیست پوشه ها ظاهر می شود.
اگر پروژه را تنظیم کنیم تا jar file یا war file بسازد ، دایرکتوری dist ظاهر خواهد شد.
متد print ()
این وظیفه را دارا است که چیزی را روی صفحه نمایش نشان دهد.متد println ()
فرق مابین کلمه print با کلمه println در این است که متد print () متن ما را روی صفحه چاپ می کند اما خط را به اتمام نمی رساند و مابقی نوشته های ما را در بخش های بعدی پس از نوشته ما قرار می دهد اما این در حالی است که متد println () همانند Enter در نرم افزار Word عمل می کند که جمله را نوشته و به خط بعدی می رود.اگر بخواهیم یک جمله را روی صفحه مانیتور چاپ نماییم، در داخل پرانتز می بایست دو علامت “ “ قرار داده و متن خود را داخل آن تایپ کنیم اما در صورتی که بخواهیم فقط به طور مثال مقدار یک متغیر را روی صفحه به نمایش در آوریم می بایست فقط نام آن متغیر را درون پرانتز مقابل println بنویسیم که در این صورت فقط مقدار آن متغیر روی صفحه نمایش داده خواهد شد.
دستور System.out.println ();
دستور System.out.println ();مقدار آن را روی صفحه مانیتور نمایش می دهیم.
واژه System
یکی از کلاس ها یا آجرهای سازنده API در زبان برنامه نویسی جاوا است. این برنامه داخلی جاوا به بخش هایی از کامپیوتر ما دسترسی پیدا خواهد کرد که خارج از کنترل مستقیم ماشین مجازی جاوا یا JVM است• زبان برنامه نویسی جاوا به حروف بزرگ و کوچک حساس است از اینرو اگر واژه System را با حرف کوچک به صورت system بنویسیم برنامه ما اجرا نخواهد شد.
واژه out
نشانگر جایی در برنامه netbeans است که متن را در آن به نمایش در می آورد. در محیط برنامه نویسی netbeans این مکان همان پنجره output است که نمونه اجرا شده برنامه خود را می توانیم در آن مشاهده کنیم.1- Statement : به هر خط از کدی که ما می نویسیم که دربرگیرنده دستوری است یک Statement گفته می شود.
2- Expression: اگر یک Statement حاوی محاسبات ریاضیاتی باشد و بالتبع نتیجه ای را در بر داشته باشد به آن Expression می گوییم.
/ج