dars 3
صفحه 1 از 1
dars 3
درس یازدهم
ایجاد نخستین شیء
در برنامه نویسی شیءگرا ، هر شیء مشتمل بر دو جیز است :خصوصیات و رفتار .
خصوصیات (attributes) چیزهایی هستند که یک شی ء را توصیف و تفاوت آن با دیگر اشیا را مشخص می کنند.
رفتار (behavior) عبارتست از کاری که یک شی ء انجام می دهد .
در زبان جاوا ،اشیا با استفاده از یک کلاس (class) که حکم الگو یا قالب (template) را دارد ، ایجاد می شوند.
مثال:
Public class Dog {
String name;
Public void speak() {
System,out.println(“Hop! Hop1”);
}
}
این برنامه شباهت زیادی به برنامه هایی که تا کنون نوشته ایم دارد،این کلاس مانند آن برنامه ها ، با جمله class آغاز می شود، با این تفاوت که یک جمله public نیز به آن افزوده شده است . جمله publicبه این معناست که عموم برنامه ها می توانند از اشیای Dog استفاده کنند.
اگر بخواهید از شی ء Dogدر یک برنامه استفاده کنید، می توانید شی ء مورد نظر را مانند یک متغییر ایجاد نمایید.
مثال:
Dog firstDog=new Dog( );
firstDog.name=”checkers”;
firstDog.speak(
درس دوازدهم
درک مفهوم ارث بری
ارث بری (inheritance) مکانیزمی است که از طریق آن ، یک شی ء رفتارها و خصوصیات اشیای مشابه دیگر را به ارث می برد.
هنگامی که شروع به ایجاد اشیا برای استفاده در برنامه های مختلف بکنید ، به زودی در می یابید که برخی اشیای جدید که مورد نیاز شما می باشند،شباهت زیادی دارند به اشیای دیگری که قبلاً ایجاد کرده اید.پس از طریق ارث بری، برنامه نویس می تواند کلاس جدیدی تعریف کرده و فقط تفاوتهای آن را با یکی از کلاسهای موجود مشخص سازد.
ارث بری یک کلاس از کلاس دیگر، توسط جمله extends انجام می گیرد. در زیر چارچوب کلی کلاس topname را که از کلاسname ارث می برد، مشاهده می کنید :
Class topname extends name {
//program goes here
}
درس سیزدهم
تبدیل اشیا و متغییرهای ساده
یکی از عملیات رایج در زبان جاوا ، تبدیل اطلاعات از شکلی به شکل دیگر است . این تبدیلات ، انواع مختلفی دارند :
· تبدیل یک شئ به شئ دیگر
· تبدیل یک متغیر ساده به متغیری از نوع دیگر
· استفاده از یک شئ برای ایجاد یک متغیر ساده
· استفاده از یک متغیر ساده برای ایجاد یک شئ
متغیر های ساده ، همان انواع داده های پایه ای هستند . این انواع ، شامل int، char، long ، double می باشند .
هنگام استفاده از یک متد یا عبارت در برنامه ، باید از انواع صحیح اطلاعات که مورد نظر آن متد یا عبارت می باشد ، استفاده کنید . برای مثال ، اگر متدی انتظار دریافت یک شئ از نوع رشته را داشته باشد . باید شئ از نوع رشته را در اختیار آن قرار دهید . اگر به متدی که تنها یک آرگومان از نوع عدد صحیح می گیرد،یک عدد اعشاری ارسال کنید ، هنگام کامپایل کردن برنامه ، با پیام خطا مواجه خواهید شد .
تبدیل اطلاعات از یک شکل به شکلی دیگر را در یک برنامه ، قالب ریزی (casting) می نامیم . قالب ریزی ، مقدار جدیدی ایجاد می کند که نوع آن با نوع متغیر یا شئ اولیه متفاوت است . هنگام قالب ریزی ، مقدار متغیر یا شئ اولیه تغیر نمی یابد .بلکه متغیر یا شئ جدیدی با قالب مورد نیاز ایجاد می شود .
جاوا هنگام بررسی نوع داده ها بسیار سختگیر است . تنها استثنا بر این قاعده رشته ها می باشند . مثلا با اینکه متدی مانند ( )System.out.println نیاز به آرگومانی از نوع رشته دارد ، شما می توانید انواع مختلفی از اطلاعات را با عملگر + ترکیب و به این متد ارسال کنید . تا وقتی که یکی از عناصر شرکت کننده در این ترکیب ، از نوع رشته باشد ، کل ارگومان نیز به یک رشته تبدیل خواهد شد و لذا جملۀ زیر ، به عنوان مثال ، جمله ای است معتبر :
Float sentence = 17.5 F;
System . out .printin(“My sentence has been reduced to”
+sentence + “years.”);
هنگام بحث دربارۀ مفهوم قالب ریزی ، از اصطلاحات مبدأ (source) و مقصد ( destination) استفاده می کنیم . مبدأ عبارت است از گونه ای از اطلاعات ( متغیر یا شئ ) در شکل اولیۀ آن و مقصد ، نسخۀ تبدیل یافتۀ مبدأ می باشد .
درس چهاردهم
قالب ریزی متغییرهای ساده
در رابطه با متغیرهای ساده ، قالب ریزی معمولا بین متغیر های عددی ( مانند اعداد صحیح و اعداد اعشاری ) صورت می گیرد . نوعی از متغیرها که در هیچ گونه قالب ریزی نمی تواند شرکت کند ، نوع Boolean است .
برای قالب ریزی اطلاعات ، کافی است نام قالب جدید را بین دو پرانتز و پیش از نام متغیر مورد نظر قرار دهیم . برای مثال ، جهت تبدیل یک متغیر به متغیری از نوع long ، باید عبارت (long) را قبل از نام آن قرار دهیم .
مثال:
Float source =2.06 ;
Int destination = ( int ) source ;
جملات بالا، یک مقدار float را به int تبدیل می کنند
گاهی می توان بدون استفاده از قالب ریزی، متغییری را در قالبی متفاوت به کار برید
مثلاً می توانید متغییرهای char را به جای متغییرهای int به کار برد. همچنین متغییرهای int به جای متغییرهای long و کلیه متغییرهای عددی به جای متغییرهای dubele قابل استفاده می باشند.
در این حالت ، چون مقصد در مقایسه با مبدا دارای ظرفیت بیشتری است ، معمولاً تبدیل اطلاعات بدون تغییر مقدار اولیه متغییر صورت می پذیرد .
مهمترین موارد استثنا، مربوط به هنگامی می شود که یک متغییر int با long ، به float و یا یک long به bubel قالب ریزی می گردد .
برای تبدیل اطلاعات از یک نوع متغییر به نوع کوچکتر ، باید به طور صریح از قالب ریزی استفاده کرد .
مثال :
Int num=14;
Byte val=(byte)num;
درس پانزدهم
قالب ریزی اشیا
اشیا را می توان به اشیای دیگر قالب ریزی کرد ، به شرطی که شی مبدا و مقصد از طریق ارث بری با هم مرتبط باشند . به عبارت دیگر ، یکی از کلاسها باید زیر کلاس دیگری باشد.
برخی اشیا هیچ نیازی به قالب ریزی ندارند و می توان از آنها به جای هر یک از کلاسهای ارشدشان استفاده کرد .
برای مثال ، از آنجایی که کلیه اشیا در جاوا زیر کلاسهای کلاس Object هستند ، هر جا که آرگومانی از نوع Object مورد نیاز باشد ، می توان از هر شیی استفاده کرد .
در ضمن ، هر جا یکی از کلاسها یک شی مورد احتیاج باشد، می توان از خود آن شی استفاده کرد.
جهت استفاده از یک شی به جای یکی از زیرکلاسهای آن ، باید از طریق جملاتی مانند زیر ، آن را صریحاً قالب ریزی کنید:
Window win = new Window();
Frame top = new (Frame)win;
این جملات ، سبب قالب ریزی یک شی Window به نام win ، درون یک شی Frame می شوند.
درس شانزدهم
تبدیل متغیرهای ساده به اشیا و بالعکس
تبدیل یک شی به یک متغیر ساده و یا عکس آن ، از طریق قالب ریزی امکان پذیر نمی باشد ، چرا که انواع اطلاعاتی در جاوا بسیار متفاوت می باشند .
در عوض ، بسته java.long به ازای هر نوع متغیر ساده ، دارای یک کلاس متناظر می باشد.
این کلاسها عبارتند از : Short , Long ,Integer , Float , Double , Character , Byte , Boolean
همانطور که می بینید نام کلیه این کلاسها با حروف بزدگ شروع می شود و این امر یادآور این نکته است که اینها همگی شیء می باشند ، نه متغییر ساده .
با استفاده از متدهای تعریف شده در هر یک از کلاسها و ارسال مقدار یک متغییر به عنوان آرگومان ، می توانید شییء متناظر با آن متغییر ایجاد کنید .
مثال :
Integer suffix = new Integer (907);
مثال بالا ، برای مقدار 907 یک شیء Integer ایجاد می کند .
پس از ایجاد این شیء می توانید از آن مانند اشیای دیگر استفاده کنید.
به عنوان مثال ، برای به دست آوردن یک مقدار int از شیء suffix می توانید از جملات زیر استفاده کرد :
Int newSuff=suffix.netValue();
یکی از قالب ریزیهای معمول از بک شیء به یک متغییر ، مربوط به هنگامی است که شیی از نوع رشته باید به صورت یک عدد مورد استفاده قرار گیرد . این امر ا استفاده از متدparselnt( ) از کلاس Integer انجام می شود.
مثال :
String count=”46”;
Int myCunt=Integer.parselnt(count);
ایجاد نخستین شیء
در برنامه نویسی شیءگرا ، هر شیء مشتمل بر دو جیز است :خصوصیات و رفتار .
خصوصیات (attributes) چیزهایی هستند که یک شی ء را توصیف و تفاوت آن با دیگر اشیا را مشخص می کنند.
رفتار (behavior) عبارتست از کاری که یک شی ء انجام می دهد .
در زبان جاوا ،اشیا با استفاده از یک کلاس (class) که حکم الگو یا قالب (template) را دارد ، ایجاد می شوند.
مثال:
Public class Dog {
String name;
Public void speak() {
System,out.println(“Hop! Hop1”);
}
}
این برنامه شباهت زیادی به برنامه هایی که تا کنون نوشته ایم دارد،این کلاس مانند آن برنامه ها ، با جمله class آغاز می شود، با این تفاوت که یک جمله public نیز به آن افزوده شده است . جمله publicبه این معناست که عموم برنامه ها می توانند از اشیای Dog استفاده کنند.
اگر بخواهید از شی ء Dogدر یک برنامه استفاده کنید، می توانید شی ء مورد نظر را مانند یک متغییر ایجاد نمایید.
مثال:
Dog firstDog=new Dog( );
firstDog.name=”checkers”;
firstDog.speak(
درس دوازدهم
درک مفهوم ارث بری
ارث بری (inheritance) مکانیزمی است که از طریق آن ، یک شی ء رفتارها و خصوصیات اشیای مشابه دیگر را به ارث می برد.
هنگامی که شروع به ایجاد اشیا برای استفاده در برنامه های مختلف بکنید ، به زودی در می یابید که برخی اشیای جدید که مورد نیاز شما می باشند،شباهت زیادی دارند به اشیای دیگری که قبلاً ایجاد کرده اید.پس از طریق ارث بری، برنامه نویس می تواند کلاس جدیدی تعریف کرده و فقط تفاوتهای آن را با یکی از کلاسهای موجود مشخص سازد.
ارث بری یک کلاس از کلاس دیگر، توسط جمله extends انجام می گیرد. در زیر چارچوب کلی کلاس topname را که از کلاسname ارث می برد، مشاهده می کنید :
Class topname extends name {
//program goes here
}
درس سیزدهم
تبدیل اشیا و متغییرهای ساده
یکی از عملیات رایج در زبان جاوا ، تبدیل اطلاعات از شکلی به شکل دیگر است . این تبدیلات ، انواع مختلفی دارند :
· تبدیل یک شئ به شئ دیگر
· تبدیل یک متغیر ساده به متغیری از نوع دیگر
· استفاده از یک شئ برای ایجاد یک متغیر ساده
· استفاده از یک متغیر ساده برای ایجاد یک شئ
متغیر های ساده ، همان انواع داده های پایه ای هستند . این انواع ، شامل int، char، long ، double می باشند .
هنگام استفاده از یک متد یا عبارت در برنامه ، باید از انواع صحیح اطلاعات که مورد نظر آن متد یا عبارت می باشد ، استفاده کنید . برای مثال ، اگر متدی انتظار دریافت یک شئ از نوع رشته را داشته باشد . باید شئ از نوع رشته را در اختیار آن قرار دهید . اگر به متدی که تنها یک آرگومان از نوع عدد صحیح می گیرد،یک عدد اعشاری ارسال کنید ، هنگام کامپایل کردن برنامه ، با پیام خطا مواجه خواهید شد .
تبدیل اطلاعات از یک شکل به شکلی دیگر را در یک برنامه ، قالب ریزی (casting) می نامیم . قالب ریزی ، مقدار جدیدی ایجاد می کند که نوع آن با نوع متغیر یا شئ اولیه متفاوت است . هنگام قالب ریزی ، مقدار متغیر یا شئ اولیه تغیر نمی یابد .بلکه متغیر یا شئ جدیدی با قالب مورد نیاز ایجاد می شود .
جاوا هنگام بررسی نوع داده ها بسیار سختگیر است . تنها استثنا بر این قاعده رشته ها می باشند . مثلا با اینکه متدی مانند ( )System.out.println نیاز به آرگومانی از نوع رشته دارد ، شما می توانید انواع مختلفی از اطلاعات را با عملگر + ترکیب و به این متد ارسال کنید . تا وقتی که یکی از عناصر شرکت کننده در این ترکیب ، از نوع رشته باشد ، کل ارگومان نیز به یک رشته تبدیل خواهد شد و لذا جملۀ زیر ، به عنوان مثال ، جمله ای است معتبر :
Float sentence = 17.5 F;
System . out .printin(“My sentence has been reduced to”
+sentence + “years.”);
هنگام بحث دربارۀ مفهوم قالب ریزی ، از اصطلاحات مبدأ (source) و مقصد ( destination) استفاده می کنیم . مبدأ عبارت است از گونه ای از اطلاعات ( متغیر یا شئ ) در شکل اولیۀ آن و مقصد ، نسخۀ تبدیل یافتۀ مبدأ می باشد .
درس چهاردهم
قالب ریزی متغییرهای ساده
در رابطه با متغیرهای ساده ، قالب ریزی معمولا بین متغیر های عددی ( مانند اعداد صحیح و اعداد اعشاری ) صورت می گیرد . نوعی از متغیرها که در هیچ گونه قالب ریزی نمی تواند شرکت کند ، نوع Boolean است .
برای قالب ریزی اطلاعات ، کافی است نام قالب جدید را بین دو پرانتز و پیش از نام متغیر مورد نظر قرار دهیم . برای مثال ، جهت تبدیل یک متغیر به متغیری از نوع long ، باید عبارت (long) را قبل از نام آن قرار دهیم .
مثال:
Float source =2.06 ;
Int destination = ( int ) source ;
جملات بالا، یک مقدار float را به int تبدیل می کنند
گاهی می توان بدون استفاده از قالب ریزی، متغییری را در قالبی متفاوت به کار برید
مثلاً می توانید متغییرهای char را به جای متغییرهای int به کار برد. همچنین متغییرهای int به جای متغییرهای long و کلیه متغییرهای عددی به جای متغییرهای dubele قابل استفاده می باشند.
در این حالت ، چون مقصد در مقایسه با مبدا دارای ظرفیت بیشتری است ، معمولاً تبدیل اطلاعات بدون تغییر مقدار اولیه متغییر صورت می پذیرد .
مهمترین موارد استثنا، مربوط به هنگامی می شود که یک متغییر int با long ، به float و یا یک long به bubel قالب ریزی می گردد .
برای تبدیل اطلاعات از یک نوع متغییر به نوع کوچکتر ، باید به طور صریح از قالب ریزی استفاده کرد .
مثال :
Int num=14;
Byte val=(byte)num;
درس پانزدهم
قالب ریزی اشیا
اشیا را می توان به اشیای دیگر قالب ریزی کرد ، به شرطی که شی مبدا و مقصد از طریق ارث بری با هم مرتبط باشند . به عبارت دیگر ، یکی از کلاسها باید زیر کلاس دیگری باشد.
برخی اشیا هیچ نیازی به قالب ریزی ندارند و می توان از آنها به جای هر یک از کلاسهای ارشدشان استفاده کرد .
برای مثال ، از آنجایی که کلیه اشیا در جاوا زیر کلاسهای کلاس Object هستند ، هر جا که آرگومانی از نوع Object مورد نیاز باشد ، می توان از هر شیی استفاده کرد .
در ضمن ، هر جا یکی از کلاسها یک شی مورد احتیاج باشد، می توان از خود آن شی استفاده کرد.
جهت استفاده از یک شی به جای یکی از زیرکلاسهای آن ، باید از طریق جملاتی مانند زیر ، آن را صریحاً قالب ریزی کنید:
Window win = new Window();
Frame top = new (Frame)win;
این جملات ، سبب قالب ریزی یک شی Window به نام win ، درون یک شی Frame می شوند.
درس شانزدهم
تبدیل متغیرهای ساده به اشیا و بالعکس
تبدیل یک شی به یک متغیر ساده و یا عکس آن ، از طریق قالب ریزی امکان پذیر نمی باشد ، چرا که انواع اطلاعاتی در جاوا بسیار متفاوت می باشند .
در عوض ، بسته java.long به ازای هر نوع متغیر ساده ، دارای یک کلاس متناظر می باشد.
این کلاسها عبارتند از : Short , Long ,Integer , Float , Double , Character , Byte , Boolean
همانطور که می بینید نام کلیه این کلاسها با حروف بزدگ شروع می شود و این امر یادآور این نکته است که اینها همگی شیء می باشند ، نه متغییر ساده .
با استفاده از متدهای تعریف شده در هر یک از کلاسها و ارسال مقدار یک متغییر به عنوان آرگومان ، می توانید شییء متناظر با آن متغییر ایجاد کنید .
مثال :
Integer suffix = new Integer (907);
مثال بالا ، برای مقدار 907 یک شیء Integer ایجاد می کند .
پس از ایجاد این شیء می توانید از آن مانند اشیای دیگر استفاده کنید.
به عنوان مثال ، برای به دست آوردن یک مقدار int از شیء suffix می توانید از جملات زیر استفاده کرد :
Int newSuff=suffix.netValue();
یکی از قالب ریزیهای معمول از بک شیء به یک متغییر ، مربوط به هنگامی است که شیی از نوع رشته باید به صورت یک عدد مورد استفاده قرار گیرد . این امر ا استفاده از متدparselnt( ) از کلاس Integer انجام می شود.
مثال :
String count=”46”;
Int myCunt=Integer.parselnt(count);
صفحه 1 از 1
صلاحيات هذا المنتدى:
شما نمي توانيد در اين بخش به موضوعها پاسخ دهيد