درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
دوره های مرتبط
دوره آموزشی ساخت ربات تلگرام
مدرس: taghandiki
این دوره را در 8 قسط خریداری کنید
ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
مدرس: مهدی عادلی
این دوره را در 2 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
مدرس: حسین احمدی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
مدرس: taghandiki
این دوره را در 20 قسط خریداری کنید
دوره آموزشی برنامه نویسی حرفه ای پایتون به زبان ساده
مدرس: حسین احمدی
این دوره را در 23 قسط خریداری کنید
دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 27 قسط خریداری کنید
دوره آموزشی طراحی رابط کاربری با JavaFX
مدرس: hharddy
این دوره را در 13 قسط خریداری کنید
دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
مدرس: dr-iman
این دوره را در 13 قسط خریداری کنید
دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
مدرس: مهدی عادلی
این دوره را در 17 قسط خریداری کنید
دوره آموزشی Exploit نویسی به زبان Perl
مدرس: dr-iman
این دوره را در 7 قسط خریداری کنید

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

0 نظرات
170 بازدیدها
با سلام به همه دوستان و همراهان 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 و کار کردن با متدهای این کلاس رایگان
مطالب مرتبط

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

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

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

    arrow