menusearch
javapro.ir
جستجو
۱۳۹۵/۸/۱۱ سه شنبه
(1)
(0)
♨️ جلسه هجدهم - کلمه کلیدی this
♨️ جلسه هجدهم - کلمه کلیدی this


💡 برای استفاده از متغیرهای نمونه،متدها یا سازنده های کلاسی که در ان قرار داریم از کلمه کلیدی this استفاده میکنیم.


💡 با استفاده از کلمه کلیدی this می توانیم به اعضای کلاسمون از قبیل سازنده ها،متدها و متغیر ها اشاره کنیم.


💡 نکته : کلمه کلیدی this  تنها و فقط! برای صدازدن متغیرهای نمونه،متدها و سازنده های کلاسمون استفاده می شود.

کلمه کلیدی this در جاوا

 

یادآوری :


💠 متغیرهای نمونه همان متغیرهایی هستند که در بدنه کلاس تعریف می شوند.


💠 پارامترها در متد و سازنده ها همان متغیرهای محلی هستند که تنها بدنه متدها و سازنده ها قابل دسرس می باشند.
 

متدوال ترین استفاده از کلمه کلیدی this: (خیلی مهم):
متدوال ترین کاربرد کلمه کلیدی this در جاوا برای فرق گذاشتن بین متغیرهای نمونه و متغیر های محلی هم نام درون متد و سازنده های یک کلاس می باشد.
یعنی هر وقت در یک متد یا سازنده متغیر محلی داشتیم که هم نام با نام متغیر نمونه کلاس بود و خواستیم از هر دو متغیر در یک متد یا سازنده خود استفاده کنیم، برای مشخص نمودن متغیر نمونه از  متغیر محلی همنام ،متغیر نمونه را با کلمه کلیدی this صدا میزنیم،با این کار به برنامه اعلام میکنیم که منظور ما متغیر نمونه کلاس می باشد.


مثال:

 

package  javalike  ;
 
class  Student {
 
     int  age;
 
     Student(int  age) {
           this.age = age;
     }
 }

 

✔ یک کلاس به نام Student که دارای یک متغیر نمونه به نام age و یک سازنده پارامتردار می باشد،داریم.در این مثال کلاس ما یک سازنده براش تعریف کردیم که پارامتر آن یک عدد از نوع صحیح که همنام متغیر نمونه کلاس می باشد داریم، در بدنه سازنده قصد داریم مقدار متغیری که از پارامتر ورودی سازنده دریافت کرده ایم درون متغیر نمونه کلاس بریزیم! چون هم متغیر محلی سازنده و هم متغیر نمونه کلاس همنام هست برای تفکیک متغیر نمونه و متغیر محلی همنام از یکدیگر ،متغیر نمونه کلاس را با کلمه کلیدی this صدا میزنیم.

 

کلمه کلیدی this در جاوا

✔ با این روش جاوا میدونه که متغیر آبی رنگ متغیر نمونه و متغیر قهوه ای رنگ متغیر محلی می باشد حتی اگر همنام باشند!

 

مثال:

 

package javalike;

class Student {

    String name;
    int age;
    String id;
    double num;

    public Student(String name, int age, String id) {
        this.name = name;
        this.age = age;
        this.id = id;

    }

    public void setNum(double num) {

        this.num = num;

    }

    public void print() {

        System.out.println("Name is " + name);
        System.out.println("Age is " + age);
        System.out.println("id is " + id);
        System.out.println("Num is " + num);

    }

    public static void main(String[] args) {

        Student st = new Student("Ali", 22, "921122546");

        st.setNum(18.01);
        st.print();

    }
}


خروجی:

 

Name is Ali
Age is 22
id is 921122546
Num is 18.01

String name;
int age;
String id;
double num;

 

توضیحات کد بالا:


✔  در این کلاس 4 متغیر نمونه در بدنه کلاس تعریف کرده ایم.

 

   public Student(String name, int age, String id) {
        this.name = name;
        this.age = age;
        this.id = id;

    }


 
✔    در سازنده کلاس 3 پارامتر همنام با متغیر نمونه وجود دارد.


✔    در بدنه سازنده قصد داریم هر یک از پارامترهای سازنده را به یکی از متغیر های نمونه نسبت دهیم.


✔    چون پارامترهای سازنده با متغیرهای نمونه همنام هستند،متغیر های نمونه را در بدنه سازنده با کلمه کلیدی this صدا زده ایم.

 

public void setNum(double num) {

        this.num = num;

    }


✔    در متد setNum یک پارامتر از نوع اعشاری همنام با متغیر نمونه وجود دارد. کار این متد اینه که یک عدد اعشاری از ورودی میگیرد و میریزد داخل متغیر نمونه،از انجایی که متغیر محلی این متد و متغیر نمونه همنام هستند ،متغیر نمونه را با کلمه کلیدی this صدا میزنیم و مقدار متغیر محلی رو بهش نسبت می دهیم.


✔    در سازنده کلاس و متد setNum چون نام پارامترها(متغیرهای محلی) با نام متغیر نمونه همنام می باشد برای دسرسی به متغیرهای نمونه و تفکیک متغیر نمونه از متغیر محلی،متغیر نمونه را با کلمه کلیدی this صدا زدیم.

 

public void print() {

        System.out.println("Name is " + name);
        System.out.println("Age is " + age);
        System.out.println("id is " + id);
        System.out.println("Num is " + num);

    }


✔    در متد print چون خبری از متغیر محلی همنام با متغیر نمونه کلاس نیست ،دیگر نیاز نیست که متغیرهای نمونه را با کلمه کلیدی this صدا بزنیم.

 

public static void main(String[] args) {

        Student st = new Student("Ali", 22, "921122546");

        st.setNum(18.01);
        st.print();

    }


✔    در متد main یک شی از کلاس Student ساخته و سازنده ان را مقدار دهی کرده ایم.


✔    با استفاده از شی ساخته شده از کلاس متدها setNum و print را صدا کرده ایم.


✔   چون متدsetNum  یک پارامتر از نوع اعشار داشت هنگام صدا زدن آن را مقدار دهی میکنیم.

 

موفق و پیروز باشید 😊🌹🌸🌷🌷🌷🌺🌻🌼


 

این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

آموزش آسان و ساده زبان برنامه نویسی جاوا

لینک دانلود

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا
عضو کانال تلگرام ما شوید.

 

 


 

 

instagram
نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
طراحی سایتطراحی سایتسایت سازسایت سازفروشگاه سازفروشگاه ساز