آموزش برنامه نویسی و طراحی وب




این مقاله جز یک گروه آموزشی می باشد. لیست آموزش ها در زیر هستند

آموزش java

مقدمات زبان جاوا قسمت 1
مقدمات زبان جاوا
انواع داده‌ها در جاوا Data type قسمت 2
انواع داده‌ها در جاوا Data type
آماده سازی محیط برنامه نویسی و اجرای برنامه‌های جاوا قسمت 3
آماده سازی محیط برنامه نویسی و اجرای برنامه‌های جاوا
ساختار های کنترلی در جاوا قسمت 4
ساختار های کنترلی در جاوا
عملگر ها در جاوا operator قسمت 5
عملگر ها در جاوا operator
عبارات یا expression ها در جاوا قسمت 6
عبارات یا expression ها در جاوا
متغییر های نوع داده اولیه و متغییر های مرجع قسمت 7
متغییر های نوع داده اولیه و متغییر های مرجع
متغییر ها و ثوابت در جاوا قسمت 8
متغییر ها و ثوابت در جاوا
متد بازگشتی در جاوا قسمت 9
متد بازگشتی در جاوا
کلاس ها در جاوا قسمت 10
کلاس ها در جاوا
نمونه سازی کلاس و ایجاد متغییر مرجع قسمت 11
نمونه سازی کلاس و ایجاد متغییر مرجع
سازنده ها در جاوا قسمت 12
سازنده ها در جاوا
اشاره گر this قسمت 13
اشاره گر this
معرفی چند کلاس کاربردی جاوا قسمت 14
معرفی چند کلاس کاربردی جاوا
آرایه چیست قسمت 15
آرایه چیست
وراثت چیست قسمت 16
وراثت چیست
نمونه سازی کلاس و ایجاد متغییر مرجع

it3du  
2016-10-29 16:02:46  
2184  
java  

نمونه سازی کلاس و ایجاد متغییر مرجع

 

چگونه از یک کلاس در جاوا نمونه ایجاد کنم

 

زمانی که شما کلاسی در جاوا تعریف می کنید، در واقع شی ایی را تعریف کرده اید. زبان های برنامه نویسی که از شی گرایی پشتیبانی می کنند تمام اشیای دنیای واقعی را به صورت کلاس مدل سازی می کنند. برای مثال یک برنامه مدیریت دانش آموز را در نظر بگیرید.

در این برنامه شما اطلاعات دانش آموز های کلاس خودتان را می خواهید ذخیره کنید. در واقع شما به عنوان برنامه نویس دانش آموز را یک شی از دنیای واقعی می بینید و برای پیاده سازی آن در نرم افزار، آن را به صورت یک کلاس طراحی خواهید کرد.

نحوه اعلان یک کلاس و اینکه یک کلاس می تواند چه متد ها و متغییر هایی را شامل باشد و نوع دستیابی آن را در قسمت قبل مرور کردیم.

حالا پس از آن که شما کلاسی برای دانش آموز طراحی کردید چگونه می توانید از آن در برنامه خود استفاده کنید؟

شما در آموزش های قبل آموختید که دو نوع متغییر در جاوا امکان پذیر است. نوع داده اولیه یا Primitive Data Type و متغییر های مرجع یا Reference variables.

یاد آوری : متغییر های نوع داده اولیه، متغییر هایی بودند که زبان برنامه نویسی آن را می شناسد. مانند int، double و... و متغییر های مرجع در واقع متغییر هایی بودند که از یک کلاس تعریف می شوند.

بنابراین به متغییر های نوع داده اولیه ، متغییر های نوع داده اولیه و به متغییر هایی که از یک کلاس تعریف می شوند، متغییر های مرجع گفته می شود.

برای استفاده از یک کلاس که آن را تعریف کرده ایم باید یک متغییر مرجع ایجاد کنیم.

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

در مثال ما که دانش آموز را به عنوان یک شی از دنیای واقعی به صورت کلاس ایجاد کردیم برای استفاده از آن باید نمونه سازی کنیم.

نمونه سازی از کلاس ها در جاوا چگونه است ؟

کلاسی با نام Student به صورت زیر تعریف کرده ایم

 

public class Student {
    
    private String name = "Student name";
    private int age = 24;
    private String field = "Information Technology";

    public String getName() {
        return name;
    }

    public String getField() {
        return field;
    }

    public int getAge() {
        return age;
    }

    public void setName(String n) {
        name = n;
    }

    public void setField(String f) {
        field = f;
    }

    public void setAge(int a) {
        age = a;
    }

}

 

کلاسی به نام Student ایجاد کردیم و سه متغییر نوع داده اولیه از نوع رشته و عدد صحیح با نوع دسترسی private تعریف کردیم. متغییر ها را مقدار دهی اولیه نیز کرده ایم.

متد های getter و setter برای متغییر ها تعریف کردیم.

درواقع متد های getter و setter در کلاس ها برای دستکاری متغییر های درون کلاسی و برگرداندن مقدار متغییر ها استفاده می شود. متد getter برای متغییر age را نگاه کنید. نام متد با get آغاز می شود و نام متغییر به آن وصل داده می شود و نام متد getAge خواهد شد. این متد مقدار متغییر age که در کلاس Student به صورت private تعریف شده است را بر میگرداند. این ویژگی به سایر کلاس ها این امکان را می دهد که در صورت نمونه سازی از کلاس Student بتواند از طریق متد getAge به مقدار متغییر age در کلاس Student دسترسی داشته باشند.

نکته : نام انتخابی برای متد های getter و  setter حتما نباید به این صورت باشد. شما می توانید نام های دلخواه برای متد ها انتخاب کنید. مثلا برای متد getter متغییر age به صورت زیر عمل کنید :

 

public int studentAge() {
    return age;
}

 

اما با نام گذاری متد به صورت getAge کد نویسی شما به صورت استاندارد خواهد بود و در زمان کد نویسی راحت تر خواهید فهمید که این متد برای چیست!

اما در رابطه با متد های setter نوع داده ایی که متد به عنوان پارامتر در ورودی می گیرد باید با نوع داده ایی که برای آن، متد setter می نویسیم یکسان باشد. برای متغییر age باید پارامتر ورودی به صورت int باشد که برای هر متد بسته به متغییرش نوع داده ایی مناسب را تعریف کرده ایم.

 

حالا به موضوع اصلی برمی گردیم. نحوه ایجاد نمونه یا آبجکت در جاوا به صورت زیر است

ابتدا کلاسی به نام دلخواهتان ایجاد کنید. ما کلاسی به نام MyProgram را در فایلی به نام MyProgram.java ایجاد می کنیم

 

public class MyProgram {
    
}

 

چون این کلاس باید کلاس اجرایی برنامه ما باشد. بنابراین متد main باید در آن پیاده سازی شود

 

public class MyProgram {
    
    public static void main(String[] args) {
        // create object from Student class here
    }

}

 

حالا با دستور زیر یک شی یا object از کلاس Student ایجاد خواهیم کرد

 

public class MyProgram {
    
    public static void main(String[] args) {
        Student obj;
    }

}

 

حالا متغییر مرجعی از کلاس Student با نام obj ایجاد کرده ایم. اما این متغییر به جایی اشاره نمی کند و حافظه ایی برای آن تخصیص داده نشده.

زمانی که شما متغییر صحیح با نام intVal تعریف می کنید به کامپایلر می گویید که حافظه ایی به آن تخصیص بدهد. در متغیر های مرجع شما برای تخصیص حافظه به متغییری که ایجاد کرده اید، باید از عملگر new استفاده کنید.

بنابر این توجه داشته باشید در تعریف متغییر های مرجع باید از عملگر new برای تخصیص حافظه استفاده کنید. در غیر اینصورت اگر صرفا متغییری از کلاس بدون تخصیص حافظه مورد استفاده قرار گیرد با خطا در زمان کامپایل مواجه می شود.

 

public class MyProgram {
    
    public static void main(String[] args) {
        Student obj;
        obj = new Student();
    }

}

 

حالا با استفاده از دستور new فضایی از حافظه را به شی obj اختصاص دادیم. در واقع این کار را کامپایلر انجام می دهد!

دقت کنید که در دستور new در کد بالا، ما نام کلاس Student + ()  را قرار دادیم. درواقع کلاس را با استفاده از کانستراکتور یا سازنده آن new کرده ایم. در بخش های آینده در رابطه با Constructor ها یا سازنده های کلاس در جاوا صحبت خواهیم کرد.

سوال: با استفاده از آبجکت obj که ایجاد کردم به کدام عناصر کلاس Student دسترسی دارم؟

شما فقط به متد های کلاس دسترسی دارید.

با استفاده از نام آبجکت + نقطه + نام متد یا متغییر مورد نظر می توانید فراخوانی مورد نظرتان را انجام دهید.

حالا بعد از نمونه سازی از کلاس می خواهیم متد getAge را به خروجی ببریم و مقدار آن را چاپ کنیم

 

public class MyProgram {
    
    public static void main(String[] args) {
        Student obj;
        obj = new Student();
        System.out.print("Student Age value From Student Class " + obj.getAge());
    }

}

 

متد getAge مقداری را return می کند. مطمئنا خروجی برنامه به صورت زیر است

 

Student Age value From Student Class 24

 

زیرا مقدار پیش فرض متغییر age در کلاس Student عدد 24 است.

حالا میخواهیم مقادیر پیش فرض متغییر های کلاس را تغییر دهیم و آن ها را به خروجی ببریم. با استفاده از متد های setter این کار را انجام می دهیم

 

public class MyProgram {
    
    public static void main(String[] args) {
        Student obj;
        obj = new Student();
        obj.setName("Reza");
        obj.setAge(25);
        obj.setField("Software");

        System.out.print("Student Name: " + obj.getName() + " , ");
        System.out.print("Age: " + obj.getAge() + " , ");
        System.out.print("Field: " + obj.getField());

    }

}

 

و خروجی زیر را خواهیم دید

 

Student Name: Reza , Age: 25 , Field: SW

 

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

به دلیل اینکه مباحث مربوط به پکیج بندی گفته نشده دو فایل Student.java و MyProgram.java باید در یک دایرکتوری قرار داشته باشند. به صورت زیر

 

../
* java |
       |-> MyProgram.java
       |-> Student.java

 

فایل های سورس کد جاوا در پوشه ایی یکسان به نام java قرار دارد. در غیر اینصورت در زمان کامپایل با خطا مواجه خواهید شد.

 

 

می توانید انتشار قسمت ها جدید آموزش برنامه نویسی و به روز رسانی های جدید سایت را از کانال تلگرام ما دنبال کنید  و یا از قسمت انتهایی سایت ، آدرس it3du را در سایر شبکه های اجتماعی پیدا کنید

 

منبع: it3du

 



به اشتراک بگذارید

فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   فیس نما   کلوب   فیس نما  

مطالب مرتبط


دیدگاه کاربران

2017-11-29 15:30:34  
Farnaz
سلام. من در حال یادگیری زبان برنامه نویسی جاوا هستم. آیا اگر راهنمایی در نوشتن برنامه هایی که به عنوان تکلیف می گیرم احتیاج داشته باشم، می تونم از شما کمک بگیرم؟
2017-12-24 11:52:18  
behnam
ایول،توضیحاتتون خیلی روشن و واضحه،واقعا ممنون❤❤❤
2018-05-24 23:27:28  
Ghost
دم شما گرم دوست عزیز و گلم :) یه خسته نباشید و خدا قوت هم بگم به اونایی که دارن جاوا یاد میگیرن *)

دیدگاهی ارسال کنید

  نظر شما پس از تایید نویسنده نمایش داده می شود

  نظرات به صورت فینگلیش تایید و جواب داده نمی شوند

  برای وارد کردن کد برنامه نویسی متن بالای تکست باکس را مطالعه فرمایید

  گزینه captcha برای تشخیص انسان از ربات را حتما قبل از ارسال انتخاب کنید

  ایمیل شما در سایت منتشر نمی شود

  پر کردن فیلد های ستاره دار الزامی می باشد

نام *
ایمیل *
وب سایت

استفاده از کد HTML مجاز نمی باشد

متن های انتخاب شده را می توانید با دکمه p به پاراگراف تبدیل کنید

برای وارد کردن کد برنامه نویسی ابتدا متن مورد نظرتان را انتخاب کنید و سپس زبان مورد نظر خودتان را از طریق دکمه ها انتخاب کنید

محتوای دیدگاه *

خروجی کامنت