بنیادهای کلاس java - تالار گفتمان آذر فروم





دعوت به همکاری با آذر فروم

 

بنیادهای کلاس java
زمان کنونی: 18-09-1395،11:27 ق.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: Friga
آخرین ارسال: Friga
پاسخ: 8
بازدید: 417

 
 
رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

موضوع: بنیادهای کلاس java
ارسال: #1
بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
کلاسهای تولید شده در بحثهای گذشته فقط برای کپسول سازی روش ()main استفاده می شد ، که برای نشان دادن اصول دستور زبان جاوا مناسب بودند . شاید بهترین چیزی که باید درباره یک کلاس بدانید این است که کلاس یک نوع جدید داده را تعریف می کند . هربار که این نوع تعریف شود ، می توان از آن برای ایجاد اشیائی از همان نوع استفاده نمود . بنابراین ، یک کلاس قالبی (template) برای یک شی ئ است و یک شی ئ نمونه ای (instance) از یک کلاس است . چون شی ئ یک نمونه از یک کلاس است غالبا” کلمات شی ئ (object) و نمونه (instance) را بصورت مترادف بکار می بریم .
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:34 ب.ظ
 
ارسال: #2
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
شکل عمومی یک کلاس هنگامیکه یک کلاس را تعریف می کنید ، در حقیقت شکل و طبیعت دقیق آن کلاس را اعلان می کنید . ابتکار را با توصیف داده های موجود در آن کلاس و کدهایی که روی آن داده ها عمل می کنند ، انجام می دهید . در حالیکه کلاسها ممکن است خیلی ساده فقط شامل داده یا فقط کد باشند، اکثر کلاسهای واقعی هردو موضوع را دربرمیگیرند. بعدا” خواهید دید که کد یک کلاس ، رابط آن به داده های همان کلاس را توصیف میکند. یک کلاس را با واژه کلیدی class اعلان می کنند . کلاسهایی که تا بحال استفاده شده اند ، نوع بسیار محدود از شکل کامل کلاسها بوده اند . خواهید دید که کلاسها می توانند ( و معمولا” هم ) بسیار پیچیده تر باشند . شکل عمومی توصیف یک کلاس به شرح زیر است :

type methodname2(parameter-list ){
// body of method
}
//…
type methodnameN(parameter-list ){
// body of method
}
}
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:35 ب.ظ
 
ارسال: #3
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
داده یا متغیرهایی که داخل یک کلاس تعریف شده اند را متغیرهای نمونه instance)
(variables می نامند . کدها ، داخل روشها (methods) قرار می گیرند . روشها و
متغیرهای تعریف شده داخل یک کلاس را اعضائ (members) یک کلاس می نامند . در اکثر
کلاسها ، متغیرهای نمونه یا روی روشهای تعریف شده برای آن کلاس عمل کرده یا توسط
این روشها مورد دسترسی قرار می گیرند . بنابراین ، روشها تعیین کننده چگونگی
استفاده از داده های یک کلاس هستند .
متغیرهای تعریف شده داخل یک کلاس ، متغیرهای نمونه خوانده شده زیرا هر نمونه
از کلاس ( یعنی هر شی ئ یک کلاس ) شامل کپی خاص خودش از این متغیرهاست . بنابراین
داده مربوط به یک شی ئ ، جدا و منحصر بفرد از داده مربوط به شی ئ دیگری است . ما
بزودی این نکته را بررسی خواهیم نمود ، اما فعلا” باید این نکته بسیار مهم را
بیاد داشته باشید .
کلیه روشها نظیر()main همان شکل عمومی را دارند که تاکنون استفاده کرده ایم .
اما ، اکثر روشها را بعنوان staticیا publicا توصیف نمی کنند . توجه داشته
باشید که شکل عمومی یک کلاس ، یک روش ()main را توصیف نمی کند . کلاسهای جاوا
لزومی ندارد که یک روش ()main داشته باشند . فقط اگر کلاس ، نقطه شروع برنامه
شما باشد ، باید یک روش ()main را توصیف نمایید . علاوه بر این ، ریز برنامه ها
(applets) اصولا” نیازی به روش ()main ندارند .
نکته : برنامه نویسان C++ آگاه باشند که اعلان کلاس و پیاده سازی روشها در یک
مکان ذخیره شده و بصورت جداگانه تعریف نمی شوند. این حالت گاهی فایلهای
خیلی بزرگ java ایجاد می کند ، زیرا هر کلاس باید کاملا” در یک فایل منبع
تکی تعریف شود . این طرح در جاوا رعایت شد زیرا احساس می شد که در بلند
مدت ، در اختیار داشتن مشخصات ، اعلانها و پیاده سازی در یک مکان ، امکان
دسترسی آسانتر کد را بوجود می آورد .

یک کلاس ساده
بررسی خود را با یک نمونه ساده از کلاسها شروع می کنیم . در اینجا کلاسی تحت
غنوان Box وجود دارد که سه متغیر نمونه را تعریف می کند : width، height، و depth
و فعلا” ، کلاس Box دربرگیرنده روشها نیست .

+ class Box {
+ double width;
+ double height;
+ double depth;
+ }
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:35 ب.ظ
 
ارسال: #4
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
قبلا” هم گفتیم که یک کلاس نوع جدیدی از داده را توصیف می کند . در این مثال
نوع جدید داده را Box نامیده ایم . از این نام برای اعلان اشیائ از نوع Box
استفاده می کنید . نکته مهم این است که اعلان یک کلاس فقط یک الگو یا قالب را
ایجاد می کند ، اما یک شی ئ واقعی بوجود نمی آورد . بنابراین ، کد قبلی ، شیئی
از نوع Box را بوجود نمی آورد .
برای اینکه واقعا” یک شی ئ Box را بوجود آورید ، باید از دستوری نظیر مورد
زیر استفاده نمایید :

+ Box mybox = new Box)(; // create a Box object called mybox
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:36 ب.ظ
 
ارسال: #5
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
پس از اجرای این دستور ، mybox نمونه ای از Box خواهد بود. و بدین ترتیب این شی ئ وجود فیزیکی و واقعی پیدا می کند .
مجددا” بیاد داشته باشید که هر بار یک نمونه از کلاسی ایجاد می کنید ، شیئی ایجاد کرده اید که دربرگیرنده کپی ( نسخه خاص ) خود از هر متغیر نمونه تعریف شده توسط کلاس خواهد بود . بدین ترتیب ، هر شی ئ Box دربرگیرنده کپی های خود از متغیرهای نمونه width، heidht،و depthو می باشد . برای دسترسی به این متغیرها از عملگر نقطه (.) استفاده می کنید . عملگر نقطه ای ، نام یک شی ئ را با نام یک متغیر نمونه پیوند می دهد . بعنوان مثال ، برای منتسب کردن مقدار ۱۰۰ به متغیر width در myboxر ، از دستور زیر استفاده نمایید :

+ mybox.width = 100
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:36 ب.ظ
 
ارسال: #6
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
این دستور به کامپایلر می گوید که کپی width که داخل شی ئ mybox قرار گرفته را معادل عدد ۱۰۰ قرار دهد . بطور کلی ، از عملگر نقطه ای برای دسترسی هم به متغیرهای نمونه و هم به روشهای موجود در یک شی ئ استفاده می شود .
دراینجا یک برنامه کامل را مشاهده میکنید که از کلاس Box استفاده کرده است :

+ /* A program that uses the Box class.
+
+ Call this file BoxDemo.java
+ /*
+ class Box {
+ double width;
+ double height;
+ double depth;
+ }
+
+ // This class declares an object of type Box.
+ class BoxDemo {
+ public static void main(String args[] ){
+ Box mybox = new Box)(;
+ double vol;
+
+ // assign values to mybox’s instance variables
+ mybox.width = 10;
+ mybox.height = 20;
+ mybox.depth = 15;
+
+ // compute volume of box
+ vol = mybox.width * mybox.height * mybox.depth;
+
+ System.out.println(“Volume is ” + vol);
+ }
+ }
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:37 ب.ظ
 
ارسال: #7
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
فایلی را که دربرگیرنده این برنامه است باید با نام BoxDemo.java بخوانید زیرا روش ()main در کلاس BoxDemo و نه در کلاس Box قرار گرفته است . هنگامیکه این برنامه را کامپایل می کنید ، می بینید که دو فایل class. ایجاد شده اند ، یکی برای Box و دیگری برای BoxDemo . کامپایلر جاوا بطور خودکار هر کلاس را در فایل class. مربوط به خودش قرار می دهد . ضرورتی ندارد که کلاس Boxو BoxDemoو هر دو در یک فایل منبع قرار گیرند . می توانید هر کلاس را در فایل خاص خودش گذاشته و آنها را بترتیب Box.javaو BoxDemo.javaو بنامید .
برای اجرای این برنامه باید BoxDemo.class را اجرا کنید . پس از اینکار حاصل زیر را بدست می آورید :

Volume is 3000
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:37 ب.ظ
 
ارسال: #8
RE: بنیادهای کلاس java
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
قبلا” هم گفتیم که هر شی ئ دارای کپی های خاص خودش از متغیرهای نمونه است .
یعنی اگر دو شی ئ Box داشته باشید، هرکدام بتنهایی کپی ( یا نسخه ای ) از lenght width
و heightو خواهند داشت . مهم است بدانید که تغییرات در متغیرهای نمونه یک
شی ئ تاثیری روی متغیرهای نمونه کلاس دیگر نخواهد داشت . بعنوان مثال ، برنامه
بعدی دو شی ئ Box را اعلان می کند :

+ // This program declares two Box objects.
+
+ class Box {
+ double width;
+ double height;
+ double depth;
+ }
+
+ class BoxDemo2 {
+ public static void main(String args[] ){
+
+ Box mybox1 = new Box)(;
+ Box mybox2 = new Box)(;
+ double vol;
+
+ // assign values to mybox1′s instance variables
+ mybox1.width = 10;
+ mybox1.height = 20;
+ mybox1.depth = 15;
+
+ /* assign different values to mybox2′s
+ instance variables */
+ mybox2.width = 3;
+ mybox2.height = 6;
+ mybox2.depth = 9;
+
+ // compute volume of first box
+ vol = mybox1.width * mybox1.height * mybox1.depth;
+ System.out.println(“Volume is ” + vol);
+
+ // compute volume of second box
+ vol = mybox2.width * mybox2.height * mybox2.depth;
+ System.out.println(“Volume is ” + vol);
+ }
+ }
خروجی تولید شده توسط این برنامه بقرار زیر می باشد :

Volume is 3000
Volume is 162
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

28-05-1391 02:38 ب.ظ
 


[-]
پاسخ سریع
پیام
پاسخ خود را برای این پیام در اینجا بنویسید.


کد تصویری
royalfuns
(غیر حساس به بزرگی و کوچکی حروف)
لطفاً کد نشان داده شده در تصویر را وارد نمایید. این اقدام جهت جلوگیری از ارسال‌های خودکار ضروری می‌باشد.

موضوعات مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  تاپيك جامع آموزش Java Script Friga 5 381 28-05-1391 02:48 ب.ظ
آخرین ارسال: Friga

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان