تا %60 تخفیف خرید برای 3 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده

با سلام به همه دوستان و همراهان Itpro. یکی دیگر از مفاهیم برنامه نویسی شئ گرا در جاوا مفهوم پکیج یا بسته بندی package می باشد. فرض کنید که یک کلاس به نام Data دارید که در تمام برنامه های خود برای کار با داده ها از آن استفاده می کنید. پس شما دیگر نمی توانید هیچوقت کلاسی به نام Data را تعریف کنید. این عمل وقتی است که شما از پکیج ها استفاده نکنید. استفاده از پکیج برای این است که وقتی از نام های تکراری استفاده می کنیم مشکلی پیش نیاید. برای مثال شما تصور کنید که پوشه یا دایرکتوری در سیستم عامل وجود نداشت. آن وقت شما با خیل عظیمی از فایل ها مواجه بودید که همه ی آن ها باید نامی داشتند که آن نام با بقیه فایل های کامپیوتر متفاوت بود. در این وضعیت مشکلات بسیاری پیش می آمد. همچنین از پکیج ها برای کنترل دسترسی به کلاس ها و استفاده راحت تر از کلاس ها و اینترفیس ها استفاده می شود. اغلب پکیج ها را برای گروه بندی کلاس ها و اینترفیس های و enum های مرتبط به کار می برند. برخی از پکیج های معمول که در زبان جاوا بسیار مورد استفاده قرار می گیرند عبارتند از:

  • java.lang کلاس های پایه ای جاوا را در خود نگهداری می کند.
  • java.io برای نگهداری کلاس هایی که برای کار با فایل ها و ورودی و خروجی است را نگهداری می کند.

شما می توانید پکیج دلخواه خود را برای گروه بندی کلاس ها و اینترفیس های خود تعریف کنید. یکی از اصول نوشتن برنامه درست این است که کد های شما دارای طبقه بندی درست باشد تا به راحتی معنای کد های نوشته شده را درک کرد و در یک تیم اعضای تیم در کدهای شما گم نشوند. پس کلاس ها و اینترفیس ها و enum های خود را با توجه به عمل و هدفشان طبقه بندی نمایید. به خاطر این که پکیج ها یک فضای نام (namespace) مخصوص به خود را تعریف می کنند پس احتمال هم نام شدن کلاس ها کاهش پیدا می کند و شما باید دقت کنید که در داخل پکیج کلاس یا اینترفیس همنام نداشته باشید نه در کل پروژه. همچنین استفاده از پکیج ها برنامه نویسی را آسان تر می کند زیرا که دسترسی به کلاس ها آسانتر خواهد بود.

ساخت پکیج ها

هر پکیج یک نام دارد. پس هنگامی که می خواهید یک پکیج بسازید باید یک نام برای آن تعیین کنید. برای این که یک پکیج بسازید در برنامه intellij idea باید در قسمت project بر روی پوشه src کلیک راست کنید و گزینه New را انتخاب کنید و از زیرمنو package را انتخاب کنید. سپس اسم پکیج از شما پرسیده خواهد شد که نامی را به آن اختصاص می دهید.

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

آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده

دقت داشته باشید که ما نام پکیج خود را ItProPackage قرار داده ایم. همه کلاس ها و اینترفیس هایی را که می خواهیم در این پکیج باشد را باید در داخل این پکیج بسازیم. به شکلی که بر روی این پکیج کلیک کرده و new , class را انتخاب کنیم و یا کلاس هایی را که قبلا ساخته ایم را به داخل این پکیج drag کنیم. دقت داشته باشید که خط اول کلیه کلاس ها و اینترفیس هایی که در یک پکیج قرار دارند باید به شکل کد زیر باشد که این کد نام پکیج را مشخص می کند.

package ItProPackage;

همچنین این کد باید حتما خط اول کدهای یک کلاس و اینترفیبس موجود در یک پکیج باشد. دقت داشته باشید که همه ی پکیج هایی که در پروژه شما ساخته می شود اگر به مسیر خود پروژه بر روی کامپیوتر شما بروید خواهید دید که به ازای هر پکیج یک دایرکتوری برای آن پکیج ساخته شده است و کلاس ها و اینترفیس ها در قالب فایل های .java در آن قرار دارند. برای مثال کد زیر یک کلاس در پکیج تعریف شده است :

package ItProPackage;

public class ItproClass {
    public void sayHello(String name){
        System.out.println("Hello dear Itpro User: "+ name);
    }
}

و اگر به آدرس پروژه بروید مانند تصویر زیر فایل ها را مشاهده خواهید کرد:

آموزش جاوا (Java) قسمت 40 : پکیج(Package) و نحوه استفاده

کلمه کلیدی import

اگر یک کلاس بخواهد از کلاسی در همان پکیج استفاده کند لازم نیست کاری انجام دهید. ولی برای این که کلاسی از یک کلاس در پکیج دیگر استفاده کند باید با استفاده از کلمه کلیدی import پکیج مورد نظر را به فایل اضافه کرد. برای مثال اگر ما در داخل پکیج ItProPackage یک کلاس به نام ItproClass داشته باشیم که کد آن به شکل زیر باشد:

package ItProPackage;

public class ItproClass {
    public void sayHello(String name){
        System.out.println("Hello dear Itpro User: "+ name);
    }
}

حال اگر در کلاس اصلی برنامه بخواهیم از این کلاس استفاده کنیم باید با استفاده از کلمه کلیدی import پکیج این کلاس را به کلاس اصلی اضافه کنیم. مانند شکل زیر

import ItProPackage.*;

public class Main {

    public static void main(String[] args) {
ItproClass itpro=new ItproClass();
itpro.sayHello("Mehdi Adeli");
}
}

اگر برنامه بالا را اجرا کنیم خروجی به شکل زیر خواهد بود:

Hello dear Itpro User: Mehdi Adeli

دقت داشته باشید که با عبارت import که در کد بالا نوشته ایم همه ی کلاس های پکیج به داخل کلاس لود می شود ولی اگر فقط بخواهیم که از کلاس ItproClass استفاده کنیم و با بقیه کلاس های پکیج کاری نداشته باشیم باید این خط را به شکل زیر تغییر دهیم:

import ItProPackage.ItproClass;

دقت داشته باشید که به هر تعداد که بخواهیم می توانیم از کلمه کلیدی import در داخل کلاس استفاده کنیم و عبارات import بعد از خط اول که همان اسم پکیج است می آید. ما می توانیم در داخل پکیج ها پکیج های دیگری را تعریف کنیم. همچنین می توان هنگام import کردن پکیج هایی را import کرد که داخل پکیج های دیگر هستند برای مثال شکل import کردن مانند کد زیر باشد:

import com.apple.computers.*;

Itpro باشید

نویسنده: مهدی عادلی فر

منبع: جزیره برنامه نویسی و توسعه نرم افزار وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

نظر شما
برای ارسال نظر باید وارد شوید.
1 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند