dars 7
صفحه 1 از 1
dars 7
درس سی یکم
کار کردن با اشیای موجود
در آغاز معرفی جاوا ، به اشتراک گذاشتن اشیاء موضوعی غیر رسمی بود . برنامه نویسها اشیای خود را به گونه ای می نوشتند که حداکثر استقلال را داشته باشد و با استفاده از متغییرهای (private) و متدهای عمومی (public) جهت خواندن و نوشتن آن متغییرها ، اشیای خود را در برابر استفاده نادرست محافظت می کردند .
اگراستانداردی برای توسعه اشیای قابل کاربرد مجدد وجود داشته باشد به اشتراک گذاشتن اشیا قوت بیشتری خواهد گرفت . مزایای وجود یک استاندارد عبارت است از :
نیاز چندانی به مستند سازی چگونگی کارکرد اشیا وجود نخواهد داشت .
با استفاده از استاندارد امکان طراحی ابزارهای توسعه (development tools) فراهم می شود که استفاده از این اشیا را آسانتر می سازد .
اشیایی که از این استاندارد پیروی کرده اند ، بدون نیاز به برنامه نویسی خاص می توانند با یکدیگر تعامل و همکاری کنند
استاندارد مربوط به توسعه اشیای قابل کاربرد مجدد در جاوا ، JavaBeans نام دارد و هر شی ء منفرد از این مجموعه یک Bean نامیده می شود .
درس سی دوم
JavaBeans
JavaBeans کلاسهای جاوایی هستند که به منظور استفاده مجدد طراحی شده اند . این کلاسها که در بسیاری از زبانهای برنامه نویسی ، عناصر نرم افزاری (software components) نامیده می شوند ، تحت مجموعه ای از استاندارد از قواعد ، توسعه می یابند .
برای توسعه beans ، علاوه بر کیت توسعه جاوا (JDK) ، نیازمند ابزار برنامه نویسی دیگری نیز هستید . شرکت Sun Microsystems ابزار خود را تحت عنوان Beans Development Kit (کیت توسعه Beans) در سایت http://java.sun.com/beans/software
ارائه می دهد .
کیت توسعه Beans که BDK نیز نامیده می شود ، شامل یک ابزار بصری (visual) به نام BeanBox است که برای افزودن Beans به برنامه های جاوا و فراهم کردن زمینه همکاری اشیای Bean با همدیگر به کار می رود .
برنامه نویسی Bean یکی از جنبه های تخصصی جاواست و یادگیری کامل آن تنها پس از تسلط بر اصول پایه ای زبان میسر است . اما برنامه نویسان مبتدی با استفاده از Bean های موجود می توانند به نتایج قابل توجهی دست یابند پس خالی از فایده نخواهد بود اگر همزمان با فراگیری برنامه نویسی با JavaBean نیز آشنا شوید .
درس سی سوم
یادگیری چگونگی عملکرد اپلت ها
اپاتها برنامه هایی هستند که برای اجرا در صفحات وب جهانی ، طراحی شده اند. اگر یک صفحه وب حاوی یک اپلت جاوا باشد ، با مشاهده این صفحه ، اپلت فوق روی کامپیوتر کاربر download شده ، سپس اجرا می گردد.
برنامه نویسی اپلتها با جاوا و با ایجاد برنامه های کاربردی توسط آن ، بسیار متفاوت است .
از آنجا که اپلتها برای هر بار اجرا باید از یک صفحه وب download شوند ، لذا به سبب کاهش زمان download معمولا از برنامه های کاربردی کوچکترند .
همچنین ، اپلتها به علت اجرا شدن در کامپیوتر کاربر ، ناچارند محدودیتهای امنیتی متعددی را برای پیشگیری از اجرای برنامه های مزاحم یا مخرب رعایت کنند.
درس سی چهارم
متدهای استاندارد اپلت
اولین کار در ایجاد اپلت آن است که آن را در یک زیر کلاس از jApplet در نظر بگیریم که بخشی از بسته com.sun.jsva.swing می باشد . این بسته که Swing نامیده می شود ، مجموعه از کلاسها را برای ایجاد یک رابط کاربر گرافیکی ، گرافیک کامپیوتری و دیگر عناصر بصری برای برنامه های کامپیوتری ، ارائه می هد.
یک اپلت به عنوان یک پنجره بصری ، داخل یک صفحه وب عمل می کند بنابراین JApplet بخشی است از Swing همراه با دکمه های قابل کلیک ، نوارهای مرورگر و دیگر اجزای یک رابط کاربر .
JApplet یک زیر کلاس از Applet می باشد که کلاسی است از بسته java.applet
قرار گرفتن در این سلسله مراتب اپلتهای نوشته شده را قادر می سازد که از تمامی رفتارها و خصوصیاتی که برای اجرا در صفحه جهانی وب مورد نیاز است ، استفاده کنند . اپلتهای شما ، بدون اینکه جمله ای به آنها بیفزایید . توانایی تعامل با مرورگرهای وب را خواهند داشت ، خود را load و unload خواهند کرد . در پاسخ به تغییرات در پنجره مرورگر ، پنجره های خود را دوباره ترسیم کرده ، وظایف ضروری دیگری را انجام خواهند داد.
درس سی پنجم
ادامه متد های استاندارد اپلت
در برنامه های کاربردی، اجرای برنامه با اولین عبارت داخل بلوک main() شروع می شود و با آخرین آکلاد بسته (}) که بلوک را می بندد ، پایان می پذیرد . در اپلت جاوا متدی تحت عنوان main() موجود نیست و لذا مکان مشخصی برای شروع برنامه وجود ندارد .
در عوض ، اپلت دارای گروهی از متدهای استاندارد است که هنگام اجرای آن ، در پاسخ به رویدادهای مشخصی ، وارد عمل می شوند .
موارد زیر رویدادهایی هستند که می توانند یکی از متدهای اپلت را وارد عمل کنند :
برنامه برای اولین بار Load می شود .
رویدادهایی که مستلزم نمایش دوباره پنجره اپلت می باشند .
برنامه توسط مرورگر متوقف می شود .
برنامه پس از توقف ، دوباره کار خود را آغاز می کند .
اجرای برنامه پایان یافته ، برنامه Unload می شود .
مثال زیر چارچوب یک اپلت را نشان می دهد :
Public class Skeleton extendes com.sun.java.swing.JApplet {
//program will go here
}
برخلاف برنامه های کاربردی ، فایلهای کلاس اپلت برای اینکه بتوانند کار خود را انجام دهند .باید public باشند .
کلاس اپلت شما وارث تمام متدهایی است که هنگام نیاز به طور خودکار وارد عمل می شوند : destroy(),stop(),start(),paint(),init() . لیکن هیچکدام از این متدها کاری انجام نمی دهند . اگر می خواهید که در اپلت شما اتفاق خاصی بیفتد ، باید این متدها را با نسخه های جدیدی در برنامه اپلت خود ، جایگزین کنید . متدهایی که اغلب جایگزین خواهید کرد pint() وinit() می باشند.
درس سی ششم
متد paint( )
متد paint() ، بخشی از تمامی اپلتهای شما خواهد بود ، چرا که بدون آن توانایی نمایش هیچ چیز را نخواهید داشت.
هر گاه چیزی در پنجره اپلت نیاز به نمایش و یا نمایش دوباره داشته باشد ، متد paint( ) انجام وظیفه را به عهـده می گیرد.
متد paint() یک آرگومان می گیرد .مورد زیر مثالی است از یک متد paint() ساده :
public class paint(Graphics screen) {
//display statements go here
}
در اپلتهای جاوا 2 ، اولین جمله از متد paint( ) باید متد paint( ) را از کلاس ارشد خود صدا بزند . این کار تضمین می کند که پنجره اپلت به درستی ، به هنگام سازی شود . جمله زیر این وظیفه را انجام می دهد :
Super.paint(screen);
این مثال یک شی گرافیکی به نام screen را به متد paint() از کلاس ارشد می فرستد . این شی باید همان شیئی باشد که به متد paint()اپلت فرستاده شده است .
درس سی هفتم
متد init( )
متد init()تنها یکبار و در ابتدای اجرای اپلت ، وارد عمل می شود . در نتیجه ، مکانی مناسب برای تنظیم مقادیر اشیاء و متغییرهایی است که اپلت ، برای اجرای موفقیت آمیز به آنها نیاز دارد . این متد ، همچنین مکان مناسبی برای تنظیم فونتها ، رنگها و رنگ پس زمینه صفحه می باشد .
البته متغییرها و اشیاء نباید درون متدinit() ایجاد شوند . چرا که در این صورت تنها در محدوده این متد وجود خواهند داشت .
برای مثال ، اگر یک متغییر از نوع عدد صحیح ، به نام display داخل متد init() ایجاد کنید و بخواهید از آن در متد paint() استفاده برید هنگام کامپایل کردن برنامه یک خطا دریافت خواهید کرد .
تمامی متغییرهایی را که می خواهید در یک کلاس ، به عنوان متغییرهای شی به کار برید ، درست بعد از عبارت class و قبل از هر متدی ، ایجاد کنید
درس سی هشتم
متدهای start() و stop()
در هر نقطه ای که اجرای برنامه اپلت شروع شود ، متد start() وارد عمل خواهد شد . هنگام شروع برنامه ، متدinit() ، به دنبال متد () start فراخوانی می شود . پس از آن ، در بسیاری موارد هیچ عاملی موجب راه اندازی مجدد متد ()start ، باید اجرای اپلت در مقطع یا مقاطع خاصی متوقف گردد .
هنگامی که اجرای اپلت متوقف می شود ، متد () stop فراخوانی می گردد . ممکن است این اتفاق هنگامی رخ دهد که کاربر ، صفحۀ وب شامل اپلت را ترک کرده ، وارد صفحۀ دیگری بشود . همچنین فراخوانی مستقیم متد () stop نیز می تواند سبب وقوع این رویداد شود .
در برنامه هایی که ضمن آموختن زبان جاوا خواهید نوشت ، start() و() stop بیشتر در متحرک سازی مورد استفاده قرار خواهند گرفت .
درس سی نهم
متد () destroy
متد () destroy نقطۀ مقابل متد init()می باشد. این متد درست قبل از اتمام اجرا و بسته شدن اپلت به کار می افتد این متد در مواردی نادر که بعضی چیزها در طی یک برنامه تغییر می کنند و باید به حالت اولیه خود بازگردانده شوند ، به کار می رود . این متد نیز بیشتر در متحرک سازی مورد استفاده قرار خواهد گرفت ، تا دیگر انواع برنامه ها .
درس چهلم
قرار دادن اپلت در صفحۀ وب
اپلتها به همان روشی در صفحات وب قرار می گیرند که هر چیز غیر معمول دیگری در این صفحات قرار می گیرد . فرمانهای HTML برای توصیف اپلت به کار می روند و مرورگر وب آن را همراه سایر بخشهای صفحه Load می کند .
یکی از راههای قرار دادن اپلتها در صفحات وب ، استفاده از یک برچسب <APPLET> و چندین خصوصیت می باشد . مورد زیر مثالی است از HTML مورد نیاز برای قرار دادن یک اپلت را در یک صفحه وب :
<APPLET>
Sory …this requires a java-enabled browser.
</APPLET>
خصوصیت CODE نام فایل کلاس اپلت را تعیین می کند. اگر یک اپلت مشتمل بر چندین فایل کلاس باشد ، CODE باید به فایل کلاس اصلی ، که زیر کلاسی از کلاس JApplet می باشد ، اشاره کند.
اگر هیچ خصوصیتی ار نوعCODEBASE وجود نداشته باشد ، تمام فایلهای وابسته به اپلت ، باید در همان پوشه ای قرار گیرند که صفحه وب در آن واقع است . CODEBASE باید به پوشه یا زیر پوشه ای اشاره کند که بتوان اپلت و فایلهای وابسته را در آن یافت .
خصوصیات HEIGHT و WIDITH اندازه دقیق پنجره اپلت را در صفحه وب معین می کنند .
مابین برچسبهای <APPLET> و</APPLET> می توانید نوعی جایگزین ، برای کاربران وبی که نرم افزار مرورگرشان توانایی اجرای برنامه های جاوا را ندارد ، فراهم کنید.
کار کردن با اشیای موجود
در آغاز معرفی جاوا ، به اشتراک گذاشتن اشیاء موضوعی غیر رسمی بود . برنامه نویسها اشیای خود را به گونه ای می نوشتند که حداکثر استقلال را داشته باشد و با استفاده از متغییرهای (private) و متدهای عمومی (public) جهت خواندن و نوشتن آن متغییرها ، اشیای خود را در برابر استفاده نادرست محافظت می کردند .
اگراستانداردی برای توسعه اشیای قابل کاربرد مجدد وجود داشته باشد به اشتراک گذاشتن اشیا قوت بیشتری خواهد گرفت . مزایای وجود یک استاندارد عبارت است از :
نیاز چندانی به مستند سازی چگونگی کارکرد اشیا وجود نخواهد داشت .
با استفاده از استاندارد امکان طراحی ابزارهای توسعه (development tools) فراهم می شود که استفاده از این اشیا را آسانتر می سازد .
اشیایی که از این استاندارد پیروی کرده اند ، بدون نیاز به برنامه نویسی خاص می توانند با یکدیگر تعامل و همکاری کنند
استاندارد مربوط به توسعه اشیای قابل کاربرد مجدد در جاوا ، JavaBeans نام دارد و هر شی ء منفرد از این مجموعه یک Bean نامیده می شود .
درس سی دوم
JavaBeans
JavaBeans کلاسهای جاوایی هستند که به منظور استفاده مجدد طراحی شده اند . این کلاسها که در بسیاری از زبانهای برنامه نویسی ، عناصر نرم افزاری (software components) نامیده می شوند ، تحت مجموعه ای از استاندارد از قواعد ، توسعه می یابند .
برای توسعه beans ، علاوه بر کیت توسعه جاوا (JDK) ، نیازمند ابزار برنامه نویسی دیگری نیز هستید . شرکت Sun Microsystems ابزار خود را تحت عنوان Beans Development Kit (کیت توسعه Beans) در سایت http://java.sun.com/beans/software
ارائه می دهد .
کیت توسعه Beans که BDK نیز نامیده می شود ، شامل یک ابزار بصری (visual) به نام BeanBox است که برای افزودن Beans به برنامه های جاوا و فراهم کردن زمینه همکاری اشیای Bean با همدیگر به کار می رود .
برنامه نویسی Bean یکی از جنبه های تخصصی جاواست و یادگیری کامل آن تنها پس از تسلط بر اصول پایه ای زبان میسر است . اما برنامه نویسان مبتدی با استفاده از Bean های موجود می توانند به نتایج قابل توجهی دست یابند پس خالی از فایده نخواهد بود اگر همزمان با فراگیری برنامه نویسی با JavaBean نیز آشنا شوید .
درس سی سوم
یادگیری چگونگی عملکرد اپلت ها
اپاتها برنامه هایی هستند که برای اجرا در صفحات وب جهانی ، طراحی شده اند. اگر یک صفحه وب حاوی یک اپلت جاوا باشد ، با مشاهده این صفحه ، اپلت فوق روی کامپیوتر کاربر download شده ، سپس اجرا می گردد.
برنامه نویسی اپلتها با جاوا و با ایجاد برنامه های کاربردی توسط آن ، بسیار متفاوت است .
از آنجا که اپلتها برای هر بار اجرا باید از یک صفحه وب download شوند ، لذا به سبب کاهش زمان download معمولا از برنامه های کاربردی کوچکترند .
همچنین ، اپلتها به علت اجرا شدن در کامپیوتر کاربر ، ناچارند محدودیتهای امنیتی متعددی را برای پیشگیری از اجرای برنامه های مزاحم یا مخرب رعایت کنند.
درس سی چهارم
متدهای استاندارد اپلت
اولین کار در ایجاد اپلت آن است که آن را در یک زیر کلاس از jApplet در نظر بگیریم که بخشی از بسته com.sun.jsva.swing می باشد . این بسته که Swing نامیده می شود ، مجموعه از کلاسها را برای ایجاد یک رابط کاربر گرافیکی ، گرافیک کامپیوتری و دیگر عناصر بصری برای برنامه های کامپیوتری ، ارائه می هد.
یک اپلت به عنوان یک پنجره بصری ، داخل یک صفحه وب عمل می کند بنابراین JApplet بخشی است از Swing همراه با دکمه های قابل کلیک ، نوارهای مرورگر و دیگر اجزای یک رابط کاربر .
JApplet یک زیر کلاس از Applet می باشد که کلاسی است از بسته java.applet
قرار گرفتن در این سلسله مراتب اپلتهای نوشته شده را قادر می سازد که از تمامی رفتارها و خصوصیاتی که برای اجرا در صفحه جهانی وب مورد نیاز است ، استفاده کنند . اپلتهای شما ، بدون اینکه جمله ای به آنها بیفزایید . توانایی تعامل با مرورگرهای وب را خواهند داشت ، خود را load و unload خواهند کرد . در پاسخ به تغییرات در پنجره مرورگر ، پنجره های خود را دوباره ترسیم کرده ، وظایف ضروری دیگری را انجام خواهند داد.
درس سی پنجم
ادامه متد های استاندارد اپلت
در برنامه های کاربردی، اجرای برنامه با اولین عبارت داخل بلوک main() شروع می شود و با آخرین آکلاد بسته (}) که بلوک را می بندد ، پایان می پذیرد . در اپلت جاوا متدی تحت عنوان main() موجود نیست و لذا مکان مشخصی برای شروع برنامه وجود ندارد .
در عوض ، اپلت دارای گروهی از متدهای استاندارد است که هنگام اجرای آن ، در پاسخ به رویدادهای مشخصی ، وارد عمل می شوند .
موارد زیر رویدادهایی هستند که می توانند یکی از متدهای اپلت را وارد عمل کنند :
برنامه برای اولین بار Load می شود .
رویدادهایی که مستلزم نمایش دوباره پنجره اپلت می باشند .
برنامه توسط مرورگر متوقف می شود .
برنامه پس از توقف ، دوباره کار خود را آغاز می کند .
اجرای برنامه پایان یافته ، برنامه Unload می شود .
مثال زیر چارچوب یک اپلت را نشان می دهد :
Public class Skeleton extendes com.sun.java.swing.JApplet {
//program will go here
}
برخلاف برنامه های کاربردی ، فایلهای کلاس اپلت برای اینکه بتوانند کار خود را انجام دهند .باید public باشند .
کلاس اپلت شما وارث تمام متدهایی است که هنگام نیاز به طور خودکار وارد عمل می شوند : destroy(),stop(),start(),paint(),init() . لیکن هیچکدام از این متدها کاری انجام نمی دهند . اگر می خواهید که در اپلت شما اتفاق خاصی بیفتد ، باید این متدها را با نسخه های جدیدی در برنامه اپلت خود ، جایگزین کنید . متدهایی که اغلب جایگزین خواهید کرد pint() وinit() می باشند.
درس سی ششم
متد paint( )
متد paint() ، بخشی از تمامی اپلتهای شما خواهد بود ، چرا که بدون آن توانایی نمایش هیچ چیز را نخواهید داشت.
هر گاه چیزی در پنجره اپلت نیاز به نمایش و یا نمایش دوباره داشته باشد ، متد paint( ) انجام وظیفه را به عهـده می گیرد.
متد paint() یک آرگومان می گیرد .مورد زیر مثالی است از یک متد paint() ساده :
public class paint(Graphics screen) {
//display statements go here
}
در اپلتهای جاوا 2 ، اولین جمله از متد paint( ) باید متد paint( ) را از کلاس ارشد خود صدا بزند . این کار تضمین می کند که پنجره اپلت به درستی ، به هنگام سازی شود . جمله زیر این وظیفه را انجام می دهد :
Super.paint(screen);
این مثال یک شی گرافیکی به نام screen را به متد paint() از کلاس ارشد می فرستد . این شی باید همان شیئی باشد که به متد paint()اپلت فرستاده شده است .
درس سی هفتم
متد init( )
متد init()تنها یکبار و در ابتدای اجرای اپلت ، وارد عمل می شود . در نتیجه ، مکانی مناسب برای تنظیم مقادیر اشیاء و متغییرهایی است که اپلت ، برای اجرای موفقیت آمیز به آنها نیاز دارد . این متد ، همچنین مکان مناسبی برای تنظیم فونتها ، رنگها و رنگ پس زمینه صفحه می باشد .
البته متغییرها و اشیاء نباید درون متدinit() ایجاد شوند . چرا که در این صورت تنها در محدوده این متد وجود خواهند داشت .
برای مثال ، اگر یک متغییر از نوع عدد صحیح ، به نام display داخل متد init() ایجاد کنید و بخواهید از آن در متد paint() استفاده برید هنگام کامپایل کردن برنامه یک خطا دریافت خواهید کرد .
تمامی متغییرهایی را که می خواهید در یک کلاس ، به عنوان متغییرهای شی به کار برید ، درست بعد از عبارت class و قبل از هر متدی ، ایجاد کنید
درس سی هشتم
متدهای start() و stop()
در هر نقطه ای که اجرای برنامه اپلت شروع شود ، متد start() وارد عمل خواهد شد . هنگام شروع برنامه ، متدinit() ، به دنبال متد () start فراخوانی می شود . پس از آن ، در بسیاری موارد هیچ عاملی موجب راه اندازی مجدد متد ()start ، باید اجرای اپلت در مقطع یا مقاطع خاصی متوقف گردد .
هنگامی که اجرای اپلت متوقف می شود ، متد () stop فراخوانی می گردد . ممکن است این اتفاق هنگامی رخ دهد که کاربر ، صفحۀ وب شامل اپلت را ترک کرده ، وارد صفحۀ دیگری بشود . همچنین فراخوانی مستقیم متد () stop نیز می تواند سبب وقوع این رویداد شود .
در برنامه هایی که ضمن آموختن زبان جاوا خواهید نوشت ، start() و() stop بیشتر در متحرک سازی مورد استفاده قرار خواهند گرفت .
درس سی نهم
متد () destroy
متد () destroy نقطۀ مقابل متد init()می باشد. این متد درست قبل از اتمام اجرا و بسته شدن اپلت به کار می افتد این متد در مواردی نادر که بعضی چیزها در طی یک برنامه تغییر می کنند و باید به حالت اولیه خود بازگردانده شوند ، به کار می رود . این متد نیز بیشتر در متحرک سازی مورد استفاده قرار خواهد گرفت ، تا دیگر انواع برنامه ها .
درس چهلم
قرار دادن اپلت در صفحۀ وب
اپلتها به همان روشی در صفحات وب قرار می گیرند که هر چیز غیر معمول دیگری در این صفحات قرار می گیرد . فرمانهای HTML برای توصیف اپلت به کار می روند و مرورگر وب آن را همراه سایر بخشهای صفحه Load می کند .
یکی از راههای قرار دادن اپلتها در صفحات وب ، استفاده از یک برچسب <APPLET> و چندین خصوصیت می باشد . مورد زیر مثالی است از HTML مورد نیاز برای قرار دادن یک اپلت را در یک صفحه وب :
<APPLET>
Sory …this requires a java-enabled browser.
</APPLET>
خصوصیت CODE نام فایل کلاس اپلت را تعیین می کند. اگر یک اپلت مشتمل بر چندین فایل کلاس باشد ، CODE باید به فایل کلاس اصلی ، که زیر کلاسی از کلاس JApplet می باشد ، اشاره کند.
اگر هیچ خصوصیتی ار نوعCODEBASE وجود نداشته باشد ، تمام فایلهای وابسته به اپلت ، باید در همان پوشه ای قرار گیرند که صفحه وب در آن واقع است . CODEBASE باید به پوشه یا زیر پوشه ای اشاره کند که بتوان اپلت و فایلهای وابسته را در آن یافت .
خصوصیات HEIGHT و WIDITH اندازه دقیق پنجره اپلت را در صفحه وب معین می کنند .
مابین برچسبهای <APPLET> و</APPLET> می توانید نوعی جایگزین ، برای کاربران وبی که نرم افزار مرورگرشان توانایی اجرای برنامه های جاوا را ندارد ، فراهم کنید.
صفحه 1 از 1
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد