درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
مهدی عادلی فر
امتیاز: 157218
رتبه:6
154
197
296
1572
مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم. پروفایل کاربر

آموزش برنامه نویسی جاوا قسمت بیست و چهارم: نحوه تعریف و استفاده از متدها- ادامه

تاریخ 36 ماه قبل
نظرات 0
بازدیدها 970
با سلام به همه دوستان و همراهان Itpro. در ادامه مطالب متدها در جاوا مباحثی را مطرح کردیم و در این مطلب قصد داریم به ادامه مطالب در مورد متدها در جاوا می پردازیم.

استفاده از آرگومان های خط فرمان


خط فرمان یکی از امکاناتی است که تقریبا همه ی سیستم عامل ها آن را دارا می باشند. توسط این محیط کاربر دستوراتی را برای سیستم عامل می نویسد و سیستم عامل آن دستورات را اجرا کرده و پاسخ مناسب را به کاربر می دهد. خط فرمان در ویندوز command prompt نام دارد. اگر شما با این محیط کار کرده باشید می بینید که در این محیط دستوراتی وجود دارد که هرکدام از این دستورات دارای پارامترهای ورودی هستند برای مثال دستور کپی کردن فایل دارای دو پارامتر ورودی و چندین سوییچ است. که یک مثال آن در کد زیر آورده شده است:
Copy d:\file1.txt f:\itpro\file.txt
در این دستور ما آدرس فایل منبع و مقصد را می دهیم و فایل را از آدرس منبع به آدرس مقصد کپی می کند. همانطور که می بینید دستور کپی در کد بالا دو پارامتر ورودی دارد. حال برای این که به این پارامتر ها در برنامه ی جاوا دسترسی داشته باشیم باید به متد main پارامتر ورودی بدهیم. همان طور که قبلا هم در نمونه برنامه های مطالب قبلی نشان داده ایم متد main یک پارامتر ورودی از نوع آرایه String می باشد. حال پارامترهایی که در خط فرمان می آیند به ترتیب ورود در این آرایه قرار می گیرند و می توان از آنها استفاده کرد. برای مثال به کد زیر توجه کنید. این برنامه همه پارامترهای ورودی را با اندیس آن نشان می دهد.
public class CommandLine {

   public static void main(String args[]){ 
      for(int i=0; i<args.length; i++){
         System.out.println("args[" + i + "]: " +
                                           args[i]);
      }
   }
}
حال برای این که بتوانید این برنامه را تحت خط فرمان اجرا کنید آن را با استفاده از ابزار های گفته شده مانند IntelliJ idea کامپایل می کنیم تا فایل های .class ساخته شوند. سپس برای اجرای این برنامه کد زیر را در خط فرمان command prompt می نویسیم:
java CommandLine this is a command line 200 -100
خروجی که در خط فرمان مشاهده خواهیم کرد به شکل زیر خواهد بود:
args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100

Constructorها


همانگونه که قبلا هم گفته شد constructorها برای مقداردهی اولیه به فیلدهای اشیا به کار می روند و نامشان با نام کلاس یکی است و در شکل نوشتاری شبیه به متد است. اما constructorها هیچ مقدار بازگشتی ندارند. اما شما می توانید همه ی کار های آغازین شئ را در داخل constructor انجام دهید. همه ی کلاس ها دارای constructor هستند چه برای یک کلاس constructor تعریف کنیم و چه تعریف نکنیم. زیرا که جاوا برای هر شئ یک constructor بدون ورودی در نظر می گیرد. برای مثال از constructor به کد زیر توجه کنید:
// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass() {
      x = 10;
   }
}
ما می توانیم همچنین به constructor ها ورودی بدهیم که می توان روی ورودی عمل خاصی انجام شود و یا در مقداردهی اولیه تاثیر داشته باشد. برای مثال در تعریف کلاس می توان constructor را به شکل زیر تعریف کرد:
// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   MyClass(int i ) {
      x = i;
   }
}
که در هنگام نوشتن برنامه و استفاده از کلاس مورد نظر به صورت زیر اشیاء را تعریف می کنیم.
public class ConsDemo {

   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}
که خروجی کد بالا به شکل زیر خواهد بود:
10 20

کلمه کلیدی this


کلمه کلیدی this کلمه ای است که در داخل یک متد به همان شئی که متد در داخل آن است اشاره می کند. با استفاده از این کلمه کلیدی می توانید با متدها و فیلدهای کلاس جاری کار کنید و به آن ها دسترسی داشته باشید. دقت داشته باشید که کلمه کلیدی this فقط در داخل constructor ها و متدهای استاتیک کاربرد دارد. دو مثال از کلمه کلیدی this در ادامه آورده شده است:
class Student{

   int age;   
   Student(int age){
   this.age=age;	
   }

}
در کد بالا کلمه کلیدی this برای مقدار دهی به فیلدهای موجود در شئ به کار گرفته می شود. همچنین می توان برای فراخوانی یک constructor از داخل یک constructor دیگر نیز این کلمه کلیدی را می توان استفاده کرد. مانند مثال زیر
class Student{

   int age
   Student(){
   this(20);
   }
   
   Student(int age){
   this.age=age;	
   }

}
همچنین در ادامه مثالی آورده شده است که از کلمه کلیدی this برای دستیابی به اعضای کلاس مورد استفاده قرار می گیرد.
public class This_Example {
	
   //Instance variable num
   int num=10;
	
   This_Example(){
      System.out.println("This is an example program on keyword this ");	
   }

   This_Example(int num){
      //Invoking the default constructor
      this();
      
      //Assigning the local variable num to the instance variable num
      this.num=num;	   
   }
   
   public void greet(){
      System.out.println("Hi Welcome to Itpro.ir");
   }
      
   public void print(){
      //Local variable num
      int num=20;
      
      //Printing the instance variable
      System.out.println("value of local variable num is : "+num);
      
      //Printing the local variable
      System.out.println("value of instance variable num is : "+this.num);
      
      //Invoking the greet method of a class
      this.greet();     
   }
   
   public static void main(String[] args){
      //Instantiating the class
      This_Example obj1=new This_Example();
      
      //Invoking the print method
      obj1.print();
	  
      //Passing a new value to the num variable through parametrized constructor
      This_Example obj2=new This_Example(30);
      
      //Invoking the print method again
      obj2.print(); 
   }

}
اگر کد بالا را احرا کنیم نتیجه ای که در بر خواهد داشت به شکل زیر خواهد بود:
This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 10
Hi Welcome to Itpro.ir
This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 30
Hi Welcome to Itpro.ir

آرگومان های متغیر(Variable Arguments)


از نسخه jdk 1.5 شما می توانید برای ورودی متدها پارامترهایی از یک نوع تعریف کنید به شکلی که هر تعداد ورودی از یک نوع می توانید به تابع بدهید. این نوع ورودی ها آرگومان های متغیر نام دارد که به شکل زیر تعریف می شود.
typeName... parameterName
برای استفاده از این نوع آرگومان شما ورودی را با معرفی نوع و سپس سه نقطه و سپس نام آرگومان ها معرفی می کنیم و در داخل متد یک حلقه تعریف می کنیم و از متد ورودی به شکل آرایه استفاده می کنیم. برای مثالی از این نوع ورودی به مثال زیر دقت کنید:
public class VarargsDemo {

   public static void main(String args[]) {
      // Call method with variable args  
	  printMax(34, 3, 3, 2, 56.5);
      printMax(new double[]{1, 2, 3});
   }

   public static void printMax( double... numbers) {
   if (numbers.length == 0) {
      System.out.println("No argument passed");
      return;
   }

   double result = numbers[0];

   for (int i = 1; i <  numbers.length; i++)
      if (numbers[i] >  result)
      result = numbers[i];
      System.out.println("The max value is " + result);
   }
}
خروجی کد بالا به شکل زیر خواهد بود
The max value is 56.5
The max value is 3.0

متد finalize


این امکان در جاوا وجود دارد که هنگامی که یک شئ در حال از بین رفتن است یک عمل خاصی انجام شود. به این معنی که قبل از این که شئ از داخل حافظه پاک شود عمل خاصی مانند بستن فایل ها و یا ارتباطات دیتابیس بسته شود و سپس شئ از داخل حافظه دور ریخته شود. جاوا این عمل را با استفاده از متد finalize انجام می دهد. به صورتی که همه ی اعمالی که باید انجام شود را داخل متد finalize می نویسیم. شکل کلی متد finalize باید به شکل زیر باشد.
protected void finalize( )
{
   // finalization code here
}
دقت داشته باشید که modifier که در این متد به کار گرفته شده است protected است. دلیل این کار این است که کسی نتواند از خارج از شئ به این متد دسترسی داشته باشد و نتواند آن را صدا بزند. Itpro باشید


نویسنده: مهدی عادلی فر
منبع: انجمن تخصصی فناوری اطلاعات ایران
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
برچسب ها
ردیف عنوان
1 آموزش برنامه نویسی جاوا قسمت اول : معرفی ویژگیها ، خصوصیات و نحوه شروع به کار با زبان برنامه نویسی جاوا
2 آموزش برنامه نویسی جاوا قسمت دوم : بررسی مفاهیم شیء ، کلاس ، Method و شروع برنامه نویسی با زبان جاوا
3 آموزش برنامه نویسی جاوا قسمت سوم: معرفی مفاهیم اولیه و مفاهیم شی گرایی در برنامه نویسی جاوا
4 آموزش برنامه نویسی جاوا قسمت چهارم: معرفی مفاهیم شی گرایی در برنامه نویسی جاوا - ادامه
5 آموزش برنامه نویسی جاوا قسمت پنجم: معرفی انواع داده ها در جاوا
6 آموزش برنامه نویسی جاوا قسمت ششم: آموزش انواع متغیر در جاوا
7 آموزش برنامه نویسی جاوا قسمت هفتم: معرفی Modifierها در جاوا
8 آموزش برنامه نویسی جاوا قسمت هشتم: معرفی و آموزش عملگرهای جاوا
9 آموزش برنامه نویسی جاوا قسمت نهم: معرفی و آموزش کار با عملگرها در جاوا - ادامه
10 آموزش برنامه نویسی جاوا قسمت دهم: کار با حلقه های تکرار در جاوا
11 آموزش برنامه نویسی جاوا قسمت یازدهم: معرفی و آموزش استفاده از عبارات شرطی در جاوا
12 آموزش برنامه نویسی جاوا قسمت دوازدهم: معرفی انواع کلاس wrapper مربوط به اعداد در جاوا و نحوه استفاده از آنها
13 آموزش برنامه نویسی جاوا قسمت سیزدهم: معرفی انواع کلاس wrapper مربوط به اعداد در جاوا و نحوه استفاده از آنها -ادمه
14 آموزش برنامه نویسی جاوا قسمت چهاردهم: معرفی و نحوه استفاده از کلاس Wrapper مربوط به کاراکتر ها در جاوا
15 آموزش برنامه نویسی جاوا قسمت پانزدهم: معرفی و آموزش نحوه استفاده از کلاس String و کار با رشته ها در جاوا
16 آموزش برنامه نویسی جاوا قسمت شانزدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا ادامه
17 آموزش برنامه نویسی جاوا قسمت هفدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا-ادامه 2
18 آموزش برنامه نویسی جاوا قسمت هجدهم: معرفی و آموزش نحوه استفاده از کلاس String در جاوا و کار با رشته ها در جاوا-ادامه 3
19 آموزش برنامه نویسی جاوا قسمت نوزدهم: معرفی و آموزش نحوه استفاده از کلاس های StringBuilder و StringBuffer
20 آموزش برنامه نویسی جاوا قسمت بیستم: معرفی و آموزش نحوه استفاده از آرایه ها
21 آموزش برنامه نویسی جاوا قسمت بیست و یکم: آموزش کار با تاریخ
22 آموزش برنامه نویسی جاوا قسمت بیست و دوم: معرفی و آموزش عبارات منظم(Regular expression)
23 آموزش برنامه نویسی جاوا قسمت بیست و سوم: نحوه تعریف و استفاده از متدها
24 آموزش برنامه نویسی جاوا قسمت بیست و چهارم: نحوه تعریف و استفاده از متدها- ادامه
25 آموزش برنامه نویسی جاوا قسمت بیست و پنجم: نحوه کار با استریم ها و فایل ها
26 آموزش برنامه نویسی جاوا قسمت بیست و ششم: نحوه کار با دایرکتوری ها
27 آموزش برنامه نویسی جاوا قسمت بیست و هفتم: معرفی و آموزش کلاس ByteArrayInputStream و کار با استریم ها
28 آموزش برنامه نویسی جاوا قسمت بیست و هشتم: معرفی کلاس File و شرح متدهای آن
29 آموزش برنامه نویسی جاوا قسمت بیست و نهم: معرفی و شرح Exception ها
30 آموزش برنامه نویسی جاوا قسمت سی ام: معرفی و شرح Exception ها- ادامه
31 آموزش برنامه نویسی جاوا قسمت سی و یکم: معرفی و شرح Exception ها- ادامه 2
32 آموزش برنامه نویسی جاوا قسمت سی و دوم: معرفی و شرح استفاده از انوع کلاس های داخلی
33 آموزش برنامه نویسی جاوا قسمت سی و سوم: شرح وراثت کلاس ها و انواع آن
34 آموزش برنامه نویسی جاوا قسمت سی و چهارم: معرفی و شرح override کردن متد ها
35 آموزش برنامه نویسی جاوا قسمت سی و پنجم: معرفی و شرح چند ریختی (polymorphism)
36 آموزش برنامه نویسی جاوا قسمت سی و ششم: شرح enum و ویژگی های آن
37 آموزش برنامه نویسی جاوا قسمت سی و هفتم: معرفی و شرح abstract
38 آموزش برنامه نویسی جاوا قسمت سی و هشتم: معرفی و آموزش نحوه استفاده از کپسول بندی (encapsulation)
39 آموزش برنامه نویسی جاوا قسمت سی و نهم: معرفی و آموزش نحوه استفاده از اینترفیس ها
40 آموزش برنامه نویسی جاوا قسمت چهلم: معرفی مفهوم پکیج(package) و نحوه استفاده از آن
41 آموزش برنامه نویسی جاوا قسمت چهل و یکم: معرفی داده ساختارها - Enumeration
42 آموزش برنامه نویسی جاوا قسمت چهل و دوم: داده ساختار BitSet
43 آموزش برنامه نویسی جاوا قسمت چهل و سوم: داده ساختار Vector
44 آموزش برنامه نویسی جاوا قسمت چهل و چهارم: داده ساختار Stack(پشته)
45 آموزش برنامه نویسی جاوا قسمت چهل و پنجم: داده ساختار dictionary
46 آموزش برنامه نویسی جاوا قسمت چهل و ششم: داده ساختار Hashtable
47 آموزش برنامه نویسی جاوا قسمت چهل و هفتم: داده ساختار properites
48 آموزش برنامه نویسی جاوا قسمت چهل و هشتم: معرفی و آموزش مفهوم جنریک
49 آموزش برنامه نویسی جاوا قسمت چهل و نهم: معرفی و آموزش برنامه نویسی سوکت و شبکه سمت سرور
50 آموزش برنامه نویسی جاوا قسمت پنجاهم: معرفی و آموزش برنامه نویسی سوکت و شبکه- سمت کلاینت و ارتباط با یکدیگر
51 آموزش برنامه نویسی جاوا قسمت پنجاه و یکم: معرفی و آموزش استفاده از lambda expression
52 آموزش برنامه نویسی جاوا قسمت پنجاه و دوم:‌ معرفی مفاهیم Thread ها و Multi-Threading
53 آموزش برنامه نویسی جاوا قسمت پنجاه و سوم: معرفی و آموزشRunnable در Thread ها و Multi-Threading
54 آموزش برنامه نویسی جاوا قسمت پنجاه و چهارم: کلاس Thread و کار کردن با متدهای این کلاس
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید