متدهای کلاس

از ویکی‌کد
(تغییرمسیر از متدهای کلاس در جاوا)
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Java-menu.jpeg
خانه
متدها در جاوا
کلاس‌ها در جاوا
۱برنامه‌نویسی شیءگرایی
۲کلاس‌ها و اشیاء
۳خاصیت‌های کلاس
۴متدهای کلاس
۵سازنده‌ها
۶Modifier ها
۷کپسوله‌سازی
۸پکیج‌ها
۹ارث بری
۱۰چند ریختی
۱۱کلاس‌های داخلی
۱۲مفهوم انتزاعی
۱۳رابط‌ها
۱۴Enum ها
۱۵دریافت اطلاعات از کاربر
۱۶تاریخ و زمان
۱۷ArrayList
۱۸HashMap
۱۹کلاس‌های Wrapper
۲۰خطاهای جاوا
فایل‌ها در جاوا
مرجع جاوا
مثال‌های جاوا

شما از فصل متدها در جاوا یاد گرفتید که متدها درون یک کلاس تعریف می‌شود و از آنها برای انجام عملیات‌های اصلی استفاده می‌شود: [۱]

مثال

ساخت یک متد با نام myMethod() در کلاس MyClass:

1 public class MyClass {
2   static void myMethod() {
3     System.out.println("Hello World!");
4   }
5 }

متد myMethod() یک متن را زمانی که فراخوانی شد، چاپ می‌کند. (عملیات متد). برای فراخوانی یک متد، نام متد را به همراه یک ( ) و یک نقطه ویرگول ; بنویسید.

مثال

فراخوانی متد myMethod() درون متد main:

 1 public class MyClass {
 2   static void myMethod() {
 3     System.out.println("Hello World!");
 4   }
 5 
 6   public static void main(String[] args) {
 7     myMethod();
 8   }
 9 }
10 
11 // Outputs "Hello World!"


مشاهدهٔ نتیجه


متدهای Static در برابر متدهای غیر Static

شما اغلب برنامه‌های جاوایی را دیده‌اید که خاصیت‌ها attribute یا متدهای static یا public دارند.

در مثال بالا، ما یک متد static تعریف کرده‌ایم، که بدان معناست که می‌توان به این متد بدون ساختن یک شیء از کلاس دسترسی پیدا کرد، برخلاف public که فقط از طریق شیء کلاس می‌توان به آن دسترسی پیدا کرد:

مثال

مثالی برای درک تفاوت بین متدهای static و public:

 1 public class MyClass {
 2   // Static method
 3   static void myStaticMethod() {
 4     System.out.println("Static methods can be called without creating objects");
 5   }
 6 
 7   // Public method
 8   public void myPublicMethod() {
 9     System.out.println("Public methods must be called by creating objects");
10   }
11 
12   // Main method
13   public static void main(String[] args) {
14     myStaticMethod(); // Call the static method
15     // myPublicMethod(); This would compile an error
16 
17     MyClass myObj = new MyClass(); // Create an object of MyClass
18     myObj.myPublicMethod(); // Call the public method on the object
19   }
20 }


مشاهدهٔ نتیجه

نکته: شما مطالب بیشتری را در مورد این کلمات کلیدی (که modifier نامیده می‌شوند) در فصل modifierهای جاوا خواهید آموخت.

دسترسی به متدها با یک شیء

مثال

ساخت یک شیء از کلاس Car به نام myCar . فراخوانی متدهای fullThrottle() و speed() روی شیء myCar و اجرای برنامه:

 1 // Create a Car class
 2 public class Car {
 3  
 4   // Create a fullThrottle() method
 5   public void fullThrottle() {
 6     System.out.println("The car is going as fast as it can!");
 7   }
 8 
 9   // Create a speed() method and add a parameter
10   public void speed(int maxSpeed) {
11     System.out.println("Max speed is: " + maxSpeed);
12   }
13 
14   // Inside main, call the methods on the myCar object
15   public static void main(String[] args) {
16     Car myCar = new Car();     // Create a myCar object
17     myCar.fullThrottle();      // Call the fullThrottle() method
18     myCar.speed(200);          // Call the speed() method
19   }
20 }
21 
22 // The car is going as fast as it can!
23 // Max speed is: 200


مشاهدهٔ نتیجه


توضیح مثال

  1. ما یک کلاس شخصی‌سازی شده با نام Car با کلمه کلیدی class ساختیم.
  2. ما متدهای fullThrottle() و speed() را در کلاس Car ساختیم.
  3. متدهای fullThrottle() و speed() در هنگام فراخوانی مقدار متنی را چاپ می‌کنند.
  4. متد speed() یک پارامتر از نوع صحیح یا int به نام maxSpeed یا نهایت سرعت را می‌پذیرد - ما از این متد در قسمت ۸ استفاده خواهیم کرد.
  5. برای استفاده از کلاس Car و متدهایش، ما می‌بایست یک شیء از کلاس Car بسازیم.
  6. سپس به متد main() رفته، همانطور که شما می‌دانید که این متد یک متد پیشفرض در جاوا است که برنامه شما را اجرا می‌کند (هر کدی درون متد main قرار بگیرد، اجرا می‌شود).
  7. با استفاده از کلمه کلیدی new ما یک شیء از کلاس Car با نام myCar ساخته‌ایم.
  8. سپس، ما متدهای fullThrottle() و speed() را روی شیء mycar فراخوانی می‌کنیم و برنامه را با استفاده از نام شیء (mycar) به همراه یک نقطه و نام متد (fullThrottle(); و speed(200);) اجرا می‌کنیم. توجه داشته باشید که ما یک پارامتر صحیح int (200) درون متد speed() اضافه کرده‌ایم.

به یاد داشته باشید که نقطه (.) برای دسترسی به متدها و خاصیت‌های شیء استفاده می‌شود.

برای فراخوانی یک متد در جاوا، نام متد را به همراه ( ) و یک سمیکالن ; بنویسید.

نام یک کلاس می‌بایست همنام فایل کلاس باشد (کلاس Car و فایل Car.java).

استفاده از کلاس‌های متعدد

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

به یاد داشته باشید که نام فایل جاوا می‌بایست با نام کلاس یکی باشد. در این مثال ما دو فایل زیر را در یک مسیر مشترک ایجاد کرده‌ایم:

  • Car.java
  • OtherClass.java

Car.java

1 public class Car {
2   public void fullThrottle() {
3     System.out.println("The car is going as fast as it can!");
4   }
5 
6   public void speed(int maxSpeed) {
7     System.out.println("Max speed is: " + maxSpeed);
8   }
9 }

OtherClass.java

{{پایان چپ‌چین}

}
1 class OtherClass {
2   public static void main(String[] args) {
3     Car myCar = new Car();     // Create a myCar object
4     myCar.fullThrottle();      // Call the fullThrottle() method
5     myCar.speed(200);          // Call the speed() method
6   }
7 }
زمانی که هر دو فایل ترجمه یا کامپایل شوند:
Terminal.png Using Multiple Classes


اجرای فایل OtherClass.java:

Terminal.png Using Multiple Classes


و نتیجه برابر خواهد بود با:

Terminal.png Using Multiple Classes


مشاهدهٔ نتیجه


منابع آموزشی