کار با اشیاء در جاوا - جلسه 3
1397/02/13 09:28 , بهزاد ناظمی

کار با اشیاء در جاوا - جلسه 3

روش های تماس

روش های مختلف برای یک شیء ، برای انجام هر کاری باید فراخوانی شوند. فراخوانی یک روش در یک شیء باعث استفاده از نماد نقطه می شود.

 شیء ای که توسط روش مورد نظر فراخوانی می شود در سمت چپ نقطه است و نام روش و شناسه های آن در سمت راست است.

customer.addToCart(itemNumber, price, quantity);

باید بعد از تمام روش های فراخوانی پرانتز گذاشت، حتی زمانی که روش بدون شناسه باشد، مانند این مثال:

customer.cancelOrder();

در فهرست 3.3، برنامه StringChecker نمونه ای از فراخوانی برخی از روش های تعریف شده در کلاس String را نشان می دهد. رشته ها شامل روش هایی برای تست و تغییرات بر روی انها می شوند.

یک برنامه در NetBeans به عنوان یک فایل خالی جاوا با نام کلاس StringChecker و نام بسته com.java21days. ایجاد کنید.

فهرست 3.3 - متن کامل StringChecker.java

1: package com.java21days;
 2:
 3: class StringChecker {
 4:
 5:     public static void main(String[] arguments) {
 6:         String str = "A Lannister always pays his debts";
 7:         System.out.println("The string is: " + str);
 8:         System.out.println("Length of this string: "
 9:             + str.length());
10:         System.out.println("The character at position 6: "
11:             + str.charAt(6));
12:         System.out.println("The substring from 12 to 18: "
13:             + str.substring(12, 18));
14:         System.out.println("The index of the first 't': "
15:             + str.indexOf('t'));
16:         System.out.println("The index of the beginning of the "
17:             + "substring \"debts\": " + str.indexOf("debts"));
18:         System.out.println("The string in uppercase: "
19:             + str.toUpperCase());
20:     }
21: }

با اجرای این برنامه خروجی نشان داده شده در شکل 3.3 تولید می شود.

کار با اشیاء در جاواتصویر 3.3. فراخوانی متد های یک رشته برای کسب اطلاعات بیشتر در مورد آن.

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

  • خط 7 مقدار رشته را چاپ می کند.
  • خط 9، متد length () در شی جدید String را برای فهمیدن این که شامل چندین کاراکتر می باشد را فراخوانی می کند.
  • خط 11 روش charAt () را فراخوانی می کند که کاراکتر را در موقعیت داده شده در رشته باز میگرداند. توجه داشته باشید که موقعیت رشته در جایگاه 0 به جای 1 شروع می شود، بنابراین کاراکتر در موقعیت 6 ، 'i' است.
  • خط 13 متد substring () که شامل دو عدد صحیح است را فراخوانی میکند که نشان دهنده یک دامنه است و زیر رشته هایی را که با آنها شروع و پایان می یابند را باز می گرداند. متد substring () نیز می تواند تنها با یک شناسه فراخوانی شود، که زیر رشته را از آن موقعیت به انتهای رشته باز می گرداند.
  • خط 15، متد indexOf () را که موقعیت اولین نمونه از کاراکتر داده شده را باز می گرداند، را فراخوانی می کند. عبارات خاص یا نقل قول با علامت نقل قول ‘ احاطه شده اند، بنابراین شناسه ‘t’ است (نه "t").
  • خط 17 روش های استفاده مختلفی از indexOf () را نشان می دهد. یک شناسه رشته ای را می گیرد و شاخص اولیه آن رشته را باز می گرداند. ادبیات رشته ای همیشه با علامت نقل قول " احاطه شده اند.
  • خط 19 از روش toUpperCase () برای بازگشت یک کپی از رشته، با حروف بزرگ استفاده می کند.

 فرمت نشان دهی رشته ها

اعداد باید همانند میزان شمارش پول به روش دقیق نمایش داده شوند. فقط دو عدد بعد از دهدهی برای تعداد سنت ها وجود دارد، علامت دلار ($) قبل از کل عدد است و علامت ( ، ) دسته های سه گانه اعداد را جدا می کند. همانطور که در $22,453.70 (مقدار بدهی ملی ایالات متحده که در یک ثانیه بالا می رود) میبینید.

این نوع قالب بندی هنگام نمایش رشته ها، می تواند با روش System.out.format () انجام شود.

این روش دو شناسه را می گیرد: قالب خروجی و رشته ای برای نمایش. در این مثال  علامت $ و ، را برای نمایش یک عدد صحیح اضافه می کند :

int accountBalance = 5005;
System.out.format("Balance: $%,d%n", accountBalance);

این کد میتواند میانگین مبلغ  که مقدار $5,005 می باشد را تولید کند.

رشته های این قالب با علامت ٪ شروع می شود و به دنبال آن یک یا چند پرچم می آید. کد %,d یک عدد دهدهی با کاما را نشان می دهد که هر گروه از سه رقم را تقسیم می کند. کد %n یک کاراکتر خط جدید را نمایش می دهد.

 مثال بعدی مقدار عدد  را به 11 رقم اعشار نشان می دهد:

double pi = Math.PI;
System.out.format("%.11f%n", pi);

خروجی مقدار 3.14159265359 می باشد.

روش فراخوانی تودرتویی

یک روش می تواند یک اشاره به یک شیء ، یک نوع داده اولیه یا هیچ مقدار دیگری را بازگرداند. در برنامه بررسی رشته (StringChecker ) ، تمام متد هایی که در شیء رشته ای str  فراخوانی می شوند، مقادیر آنها را نمایش می دهند. متد charAt () یک کاراکتر را در یک موقعیت مشخص در رشته وارد می کند.

مقدار بازگشتی توسط یک متد می تواند در یک متغیر ذخیره شود:

String label = "From";
String upper = label.toUpperCase();

در این مثال، شیء رشته ای بالا حاوی مقدار بازگشتی با  فراخوانی label.toUpperCase () است که از متن "FROM" است. اگر متدی یک شیء را باز گرداند، شما می توانید متدهای  آن شیء را در همان جمله بیابید. این باعث می شود که شما بتوانید، متدهای مختلف را همانند متغییرها اعمال کنید.

امروزه شما یک نمونه از یک روش را بدون شناسه مشاهده می کنید:

customer.cancelOrder();

شما می توانید متدهای فراخوانی توزیع شده و مثال هایی از متغیر نمونه را نیز ترکیب کنید. در مثال بعدی، روش putOnLayaway () که در شیء ذخیره شده توسط متغیر instanceTotal تعریف شده، خود بخشی از شیء customer است:

customer.orderTotal.putOnLayaway(itemNumber, price, quantity);

این شیوه تو در تو کردن متغیرها و روش ها، در روشی که شما در سه جلسه اول این کتاب استفاده کردید، نشان داده شده است: System.out.println ().

این روش رشته ها و سایر داده ها در خروجی رایانه بصورت استاندارد نمایش می دهد. کلاس سیستم، بخشی از بسته java.lang است، که رفتار خاص سیستم کامپیوتری که جاوا در آن در حال اجرا است را توصیف می کند.

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

اشیاء PrintStream یک متد بنام  println () دارند که یک رشته را به آن جریان خروجی ارسال می کند. کلاس PrintStream در بسته java.io قرار دارد.

متدهای کلاس

روشهای کلاس، که روشهای استاتیک نیز نامیده می شوند، بر روی کلاس بعنوان کل اعمال می شود ولی به مقادیر نمونه مانند متغییرهای کلاس اعمال نخواهند شد. روش های کلاس به طور معمول برای روش های عمومی ابزار استفاده می شوند که ممکن است به طور مستقیم بر روی یک شیء از آن کلاس کار نکند، اما بصورت مفهومی با این کلاس سازگار می شود.

به عنوان مثال، کلاس String شامل یک روش کلاسی به نام valueOf () است که می تواند یکی از انواع مختلفی از متدها (عدد صحیح، بولین، اشیاء و غیره) را بگیرد. سپس متد valueOf () یک نمونه جدید از String حاوی مقادیر رشته ای شناسه را باز می گرداند. این روش به طور مستقیم بر روی یک نمونه موجود از String کار نمی کند، اما گرفتن یک رشته از شیء یا  داده، رفتاری است که در کلاس String قابل تعریف است.

روش های کلاس نیز می توانند برای جمع آوری روش های عمومی در یک مکان مفید باشند. به عنوان مثال، کلاس ریاضی، تعریف شده در بسته java.lang، شامل مجموعه ای بزرگ از عملیات ریاضی به عنوان روش های کلاس است. هیچ شیء ای از کلاس ریاضی ایجاد نمی شود، اما شما هنوز هم می توانید از روش های آن با استدلال عددی یا بولیئن استفاده کنید.

به عنوان مثال، متد کلاس Math.max () دو شناسه را می گیرد و بزرگتر از آن دو  را به شما می دهد.

 شما نیازی به ایجاد یک نمونه جدید از ریاضی را ندارید؛ چون در هر کجا که شما به آن نیاز دارید میتوانید فراخوانی کنید، به عنوان مثال:

int firstPrice = 225;
int secondPrice = 217;
int higherPrice = Math.max(firstPrice, secondPrice);

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

بعلت دلایل یکسان که در مورد متغیرهای کلاس قبلی ذکر شده است، استفاده از نام کلاس باعث می شود که کد شما به راحتی خوانده شود.

دو خط آخر در این مثال هر دو رشته ای با نام "550" تولید می کنند:

String s, s2;
s = "potrzebie";
s2 = s.valueOf(550);
s2 = String.valueOf(550);

 

  برگرفته از : informit.com

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات