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

    تا 75 درصد تخفیف ویژه شب یلدا بر روی کلیه محصولات وب سایت توسینسو فقط تا 30 آذر

    مانده تا پایان تخفیف ها

    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      مهدی عادلی فر
      امتیاز: 144149
      رتبه:6
      117
      196
      285
      1466
      مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم. پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو دوره آموزشی ساخت ربات تلگرام
      دوره آموزشی ساخت ربات تلگرام
      مدرس: کاظم تقندیکی
      این دوره را در 8 قسط خریداری کنید
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      ساخت و مدیریت ربات تلگرام از صفر با زبان سی شارپ
      مدرس: مهدی عادلی فر
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی Exploit نویسی به زبان Perl
      دوره آموزشی Exploit نویسی به زبان Perl
      مدرس: ایمان جوادی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      دوره آموزشی برنامه نویسی به زبان پرل بصورت پروژه محور
      مدرس: ایمان جوادی
      این دوره را در 13 قسط خریداری کنید
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      دوره آموزشی پردازش متن با زبان برنامه نویسی پایتون
      مدرس: کاظم تقندیکی
      این دوره را در 20 قسط خریداری کنید
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      دوره آموزشی برنامه نویسی اندروید با زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 27 قسط خریداری کنید
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      دوره تخصصی آموزش متن کاوی با ابزار NLTK
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      دوره آموزشی مقدماتی برنامه نویسی به زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      دوره آموزشی برنامه نویسی WPF در ویژوال استودیو
      مدرس: امیر حسین فضلیخانی
      این دوره را در 12 قسط خریداری کنید
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      دوره آموزشی برنامه نویسی مقدماتی پایتون به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 23 قسط خریداری کنید
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      دوره آموزشی برنامه نویسی پیشرفته زبان سی شارپ
      مدرس: حسین احمدی
      این دوره را در 78 قسط خریداری کنید
      دوره آموزشی طراحی رابط کاربری با JavaFX
      دوره آموزشی طراحی رابط کاربری با JavaFX
      مدرس: حسام رسولیان
      این دوره را در 13 قسط خریداری کنید
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      دوره متوسطه برنامه نویسی به زبان جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 18 قسط خریداری کنید
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      دوره آموزشی مقدماتی برنامه نویسی جاوا به زبان ساده
      مدرس: مهدی عادلی فر
      این دوره را در 17 قسط خریداری کنید
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      دوره آموزشی اسکریپت نویسی Batch یا Batch Scripting در ویندوز به زبان ساده
      مدرس: حسین احمدی
      این دوره را در 11 قسط خریداری کنید

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

      تاریخ 33 ماه قبل
      نظرات 0
      بازدیدها 5455
      با سلام به همه دوستان وهمراهان Itpro در ادامه مباحث جاوا به یکی از مهمترین بخش های برنامه نویسی جاوا می رسیم. اگر شما بخواهید هر برنامه ای بنویسید مجبور هستید از متدها استفاده کنید. برای مثال وقتی که برنامه ای شروع می کنید دستورات خود را در داخل متدی به نام main می نویسید و برای چاپ اطلاعات خود در صفحه نمایش از متد دیگری به نام println استفاده می کنید. در این مطلب قصد داریم که نحوه تعریف متد ها و انواع آنها و نحوه استفاده از آنها را شرح دهیم. متدها در جاوا مجموعه دستورالعمل هایی هستند که برای اجرای یک عملیات خاص در یک گروه کنار هم نوشته شده اند. برای مثال وقتی که ما متد System.out.println() را فراخوانی می کنیم در واقع چندین دستور اجرا می شود تا یک پیام در صفحه نمایش نشان داده شود. در این مطلب نشان خواهیم داد که چگونه می توان یک متد ساخت که یک مقدار برگرداند و یا هیچ مقداری برنگرداند یا آرگومان ورودی داشته باشد یا نداشته باشد.

      ساخت متد


      شکل کلی ساخت یک متد مانند کد زیر است که در ادامه هرکدام از بخش های آن را توضیح خواهیم داد:
      public static int methodName(int a, int b) {
        // body
      }
      
      در کد بالا کلمه های public , static دو modifier هستند که modifier ها را در معرفی Modifierها در جاوا توضیح دادیم. سپس نوع داده int آورده شده است. این نوع داده مشخص می کند که نوع داده بازگشتی متد از چه نوعی می باشد. methodName نام متد می باشد که این نام متد از قواعد نامگذاری متغیر ها که قبلا توضیح داده شد پیروی می کند. a,b پارامترهای ورودی هستند که باید هنگام تعریف متد مشخص کنیم از چه نوعی هستند. دقت داشته باشید که این متد دارای دو عدد پارامتر ورودی از نوع int می باشد که متدها می توانند هیچ یا چند پارامتر ورودی داشته باشند و نوع آنها می تواند از انواع مختلف داده باشد. کلیه دستورات مربوط به متد می توانند داخل method body نوشته می شوند. برای درک مطالبی که گفته شد مثالی در زیر آورده شده است که یک تابع را تعریف کرده ایم که دارای 2 ورودی است که کوچکترین مقدار بین این دو ورودی را پیدا کرده و برمی گرداند.
      public static int minFunction(int n1, int n2) {
         int min;
         if (n1 > n2)
            min = n2;
         else
            min = n1;
      
         return min; 
      }
      
      با عبارت return ما مقدار بازگشتی را اعلام می کنیم و وقتی اجرای برنامه به این قسمت رسید از متد خارجی می شود.

      فراخوانی متدها


      برای این که از یک متد استفاده کنیم باید آن را فراخوانی کنیم یا به عبارت دیگر آن را صدا بزنیم. دو راه برای فراخوانی یک متد وجود دارد. زمانی که متد یک مقدار را برمی گرداند و زمانی که متد هیچ مقداری را برنمی گرداند. فرایند فراخوانی متدها آسان است . زمانی که یک برنامه یک متد را فراخوانی می کند کنترل اجرای برنامه به ابتدای متد فراخوانی شده می رود و آن را اجرا می کند تا زمانی که کنترل اجرا به یکی از حالت های زیر برسد. به خطی برسد که عبارت return دارد یا به علامت { که نشان دهنده اتمام متد است برسد به عبارت دیگر بلوک متد تمام شود. پس از اجرای متد کنترل برنامه به خطی که متد را فراخوانی کرده بود باز می گردد. برای این که متدی هیچ مقدار بازگشتی نداشته باشد نوع آن را هنگام تعریف متد از نوع void انتخاب می کنیم. در متدهایی که هیچ مقداری برنمی گردانند می توان return نگذاشت. همچنین اگر از return استفاده کنیم در جلوی آن چیزی نمی نویسیم. برای مثال کد زیر هیچ مقداری را برنمی گرداند.
      System.out.println("This is tosinso.com!");
      
      متدی که مقداری را برمی گرداند می تواند به شکل زیر باشد:
      int result = sum(6, 9);
      
      در مثال زیر کدی آورده شده است که نحوه تعریف متد و نحوه استفاده از آن را نشان می دهد.
      public class ExampleMinNumber{
         
         public static void main(String[] args) {
            int a = 11;
            int b = 6;
            int c = minFunction(a, b);
            System.out.println("Minimum Value = " + c);
         }
      
         /** returns the minimum of two numbers */
         public static int minFunction(int n1, int n2) {
            int min;
            if (n1 > n2)
               min = n2;
            else
               min = n1;
      
            return min; 
         }
      }
      
      خروجی کد بالا به شکل زیر خواهد بود:
      inimum value = 6
      
      در مثال زیر نحوه رفتار با متد های void را نشان می دهیم. دقت داشته باشید که در متدهای از نوع void متد را به تنهایی در یک خط می نویسیم.
      ublic class ExampleVoid {
      
         public static void main(String[] args) {
            methodRankPoints(255.7);
         }
      
         public static void methodRankPoints(double points) {
            if (points >= 202.5) {
               System.out.println("Rank:A1");
            }
            else if (points >= 122.4) {
               System.out.println("Rank:A2");
            }
            else {
               System.out.println("Rank:A3");
            }
         }
      }
      
      خروجی کد بالا به شکل زیر خواهد بود:
      Rank:A1
      

      ارسال پارامتر با مقدار


      پارامترهایی که هنگام فراخوانی به متد داده می شوند باید به همان ترتیبی باشند که در تعریف متد آورده شده اند و همچنین نوع آنها نیز باید به همان شکل باشد. وقتی که یک پارامتر به متد ارسال می شود دوحالت عمده ممکن است پیش بیاید.
      1. هر تغییری که در بدنه متد بر روی پارامتر انجام می دهیم در خارج از متد نیز آن تغییرات اعمال شوند
      2. هر تغییر که در بدنه متد برروی پارامترها انجام می دهیم در خارج از متد آن تغییرات بی تاثیر می باشند.
      در حالت اول به این معنی است که ما تغیرات را روی همان متغیر اولیه اعمال کنیم. ولی در حالت دوم مانند این است که مقدار متغیر در پارامتر تابع کپی شود و خود مقدار متغیر اصلی بدون تغییر باقی بماند. به نوع اول ارسال پارامتر با ارجاع یا pass by reference و به نوع دوم ارسال پارامتر با مقدار یا pass by value گفته می شود. در کد زیر یک مثال از pass by value را نشان داده ایم:
      public class swappingExample {
      
         public static void main(String[] args) {
            int a = 30;
            int b = 45;
      
            System.out.println("Before swapping, a = " +
                                a + " and b = " + b);
      
            // Invoke the swap method
            swapFunction(a, b);
            System.out.println("\n**Now, Before and After swapping values will be same here**:");
            System.out.println("After swapping, a = " +
                               a + " and b is " + b);
         }
      
         public static void swapFunction(int a, int b) {
         
            System.out.println("Before swapping(Inside), a = " + a
                                 + " b = " + b);
            // Swap n1 with n2
            int c = a;
            a = b;
            b = c;
      
            System.out.println("After swapping(Inside), a = " + a
                                 + " b = " + b);
         }
      }
      
      خروجی کد بالا به شرح زیر خواهد بود:
      Before swapping, a = 30 and b = 45
      Before swapping(Inside), a = 30 b = 45
      After swapping(Inside), a = 45 b = 30
      
      **Now, Before and After swapping values will be same here**:
      After swapping, a = 30 and b is 45
      
      دقت داشته باشید که اشیا در جاوا به صورت pass by reference ارسال می شوند ولی انواع اولیه به صورت pass by value ارسال خواهند شد.

      overload کردن متدها


      در زبان جاوا بسیار پیش می آید که یک کلاس دارای چند متد با یک نام یکسان می باشد که این متد ها هرکدام یا از نظر نوع خروجی یا از نظر تعداد پارامتر های ورودی یا از نظر نوع پارامتر های ورودی با یکدیگر تفاوت دارند. ولی نام آنها یکسان است. تعریف دو متد با نام یکسان و نوع خروجی و متغیر های یکسان باعث خطا می شود. به این گونه تعریف متد ها با نام یکسان ولی پارامترها یا نوع بازگشتی متفاوت overload کردن متدها یا method overloading گفته می شود. در زیر یک مثالی از این عمل آورده شده است که به دست آوردن کوچکترین عدد در دو نوع عدد صحیح و اعشاری می باشد.
      public class ExampleOverloading{
      
         public static void main(String[] args) {
            int a = 11;
            int b = 6;
            double c = 7.3;
            double d = 9.4;
            int result1 = minFunction(a, b);
            // same function name with different parameters
            double result2 = minFunction(c, d);
            System.out.println("Minimum Value = " + result1);
            System.out.println("Minimum Value = " + result2);
         }
      
        // for integer
         public static int minFunction(int n1, int n2) {
            int min;
            if (n1 > n2)
               min = n2;
            else
               min = n1;
      
            return min; 
         }
         // for double
         public static double minFunction(double n1, double n2) {
           double min;
            if (n1 > n2)
               min = n2;
            else
               min = n1;
      
            return min; 
         }
      }
      
      خروجی کد بالا به شکل زیر خواهد بود:
      Minimum Value= 6
      Minimum Value= 7.3
      
      همانگونه که دیده می شود دو عدد متد به نام minFuction وجود دارد.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 و کار کردن با متدهای این کلاس
      دورهمجموعه کل دوره
      مطالب مرتبط

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

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

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