تفاوت بین بسته و رابط در جاوا

فهرست مطالب:

تفاوت بین بسته و رابط در جاوا
تفاوت بین بسته و رابط در جاوا

تصویری: تفاوت بین بسته و رابط در جاوا

تصویری: تفاوت بین بسته و رابط در جاوا
تصویری: بسته های جاوا | کد نویسی را یاد بگیرید 2024, نوامبر
Anonim

تفاوت کلیدی بین Package و Interface در جاوا این است که Package به دسته بندی کلاس ها به صورت روشمند برای دسترسی و نگهداری آسان آنها کمک می کند در حالی که Interface به پیاده سازی چندین وراثت و دستیابی به انتزاع کمک می کند.

جاوا یکی از محبوب ترین زبان های برنامه نویسی است. مزیت اصلی جاوا این است که از برنامه نویسی شی گرا پشتیبانی می کند. این روش اجازه می دهد تا اشیاء دنیای واقعی را در نرم افزار مدل سازی کنید. کلاس یک طرح اولیه برای ایجاد یک شی است. هر شی شامل داده ها یا فیلدهایی برای توصیف ویژگی ها یا ویژگی ها و روش های توصیف رفتار است. این مقاله دو مفهوم مربوط به OOP در جاوا در جاوا را مورد بحث قرار می دهد که عبارتند از Package و Interface.

Package در جاوا چیست؟

جاوا تعداد زیادی کلاس را فراهم می کند. نگه داشتن تمام کلاس ها در یک پوشه می تواند دشوار باشد زیرا دسترسی به آن دشوار است. این می تواند مدیریت برنامه را تحت تاثیر قرار دهد. جاوا از بسته ها برای ترتیب کلاس ها استفاده می کند. شبیه یک پوشه است. Java API کلاس ها را با توجه به عملکرد به بسته های مختلف گروه بندی می کند. بنابراین، هر بسته شامل مجموعه ای از کلاس های مرتبط است.

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

چند نمونه بسته به شرح زیر است. بسته java.io شامل کلاس های پشتیبانی کننده ورودی و خروجی است. این شامل File، PrintStream، BufferInputStream و غیره است. بسته java.net شامل کلاس های مرتبط با شبکه است. برخی از نمونه ها عبارتند از URL، Socket، ServerSocket. بسته java.awt شامل تمام کلاس های مورد نیاز برای ساخت رابط کاربری گرافیکی است. اینها چند بسته Java API هستند.

وقتی برنامه نویس می خواهد از کلاس خاصی در برنامه استفاده کند، باید آن بسته را وارد کند. اگر برنامه نویس بخواهد از کلاس BufferInputStream در بسته java.io استفاده کند، باید دستور import را به صورت زیر بنویسد.

import java.util. BufferInoutStream;

دستور زیر همه کلاس‌های بسته util را وارد می‌کند.

import java.util.;

همچنین امکان ایجاد بسته های تعریف شده توسط کاربر وجود دارد.

کارمند بسته;

کارمند کلاس عمومی {

}

طبق مثال بالا، کارمند نام بسته است. کلاس Employee بخشی از بسته کارکنان است. این فایل به عنوان Employee.java در بسته کارمند ذخیره می شود.

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

تفاوت بین بسته و رابط در جاوا
تفاوت بین بسته و رابط در جاوا
تفاوت بین بسته و رابط در جاوا
تفاوت بین بسته و رابط در جاوا

شکل 01: کلاس A

تفاوت بین بسته و رابط در جاوا_شکل 2
تفاوت بین بسته و رابط در جاوا_شکل 2
تفاوت بین بسته و رابط در جاوا_شکل 2
تفاوت بین بسته و رابط در جاوا_شکل 2

شکل 02: کلاس B

کلاس A در بسته 1 است و حاوی روش عمومی به نام نمایش است. کلاس B در بسته 2 است و شامل روش اصلی است. حتی اگر آنها در بسته های جداگانه هستند. کلاس B می تواند با وارد کردن package1 یک شی از کلاس A ایجاد کند. پس از وارد کردن بسته 1، کلاس B به داده ها و روش های کلاس A دسترسی دارد.

به طور کلی، Package در جاوا به سازماندهی فایل های پروژه کمک می کند. این در هنگام توسعه سیستم های بزرگ بسیار مفید است زیرا اجازه می دهد تا همه فایل ها را به روشی روشمند ذخیره کنید. علاوه بر آن، بسته های Java API به برنامه نویسان اجازه می دهد تا از کلاس های موجود استفاده کنند.

اینترفیس در جاوا چیست؟

گاهی اوقات ممکن است برنامه نویس تعریف روش را نداند. در این شرایط، برنامه نویس فقط می تواند متد را اعلام کند. روش انتزاعی روشی است که تعریف ندارد. فقط اعلامیه داره وقتی حداقل یک متد انتزاعی وجود داشته باشد، آن کلاس به یک کلاس انتزاعی تبدیل می شود. علاوه بر این، کلاس abstract می تواند شامل متدهای انتزاعی و همچنین متدهای غیرانتزاعی باشد. برنامه نویس نمی تواند اشیاء را از کلاس های انتزاعی ایجاد کند.

وقتی یک کلاس یک کلاس انتزاعی را گسترش می دهد، کلاس جدید باید تمام متدهای انتزاعی را در کلاس انتزاعی تعریف کند. به عبارت دیگر، فرض کنید کلاس انتزاعی A یک روش انتزاعی به نام نمایش دارد. کلاس B کلاس A را گسترش می دهد. سپس کلاس B باید نمایش روش را تعریف کند.

نمونه ای از رابط در جاوا

فرض کنید که A و B هر دو کلاس های انتزاعی هستند. اگر کلاس C در حال گسترش A و B باشد، کلاس C باید متدهای انتزاعی هر دو کلاس را تعریف کند.این ارث چندگانه است. جاوا از وراثت چندگانه پشتیبانی نمی کند. برای پیاده سازی آن، برنامه نویس باید از رابط ها استفاده کند. اگر A و B رابط هستند، کلاس C می تواند آنها را پیاده سازی کند. به مثال زیر مراجعه کنید.

تفاوت بین بسته و رابط در جاوا_شکل 3
تفاوت بین بسته و رابط در جاوا_شکل 3
تفاوت بین بسته و رابط در جاوا_شکل 3
تفاوت بین بسته و رابط در جاوا_شکل 3

شکل 03: رابط A

تفاوت بین بسته و رابط در جاوا_شکل 4
تفاوت بین بسته و رابط در جاوا_شکل 4
تفاوت بین بسته و رابط در جاوا_شکل 4
تفاوت بین بسته و رابط در جاوا_شکل 4

شکل 04: رابط B

واسط A دارای روش انتزاعی display1 و رابط B دارای روش انتزاعی display2 است.

تفاوت بین بسته و رابط در جاوا_شکل 5
تفاوت بین بسته و رابط در جاوا_شکل 5
تفاوت بین بسته و رابط در جاوا_شکل 5
تفاوت بین بسته و رابط در جاوا_شکل 5

شکل 05: کلاس C

کلاس C هر دو رابط A و B را پیاده سازی می کند. بنابراین، باید هر دو روش را تعریف کند.

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

شکل 06: روش اصلی

حالا در متد main، امکان ایجاد یک شی از C و فراخوانی هر دو متد وجود دارد. به همین ترتیب، رابط ها به پیاده سازی وراثت چندگانه در جاوا کمک می کنند.

به غیر از وراثت چندگانه، رابط ها به دستیابی به انتزاع کمک می کنند. این یک مفهوم اصلی در OOP است. Abstraction اجازه می دهد تا جزئیات پیاده سازی را پنهان کرده و فقط عملکرد را به کاربر نشان دهد. علاوه بر این، به جای اینکه چگونه انجام می شود، روی آنچه شی انجام می دهد تمرکز می کند. از آنجایی که یک رابط متشکل از روش های انتزاعی است، به آرشیو انتزاع کمک می کند.

تفاوت بین بسته و رابط در جاوا چیست؟

Package گروهی از کلاس های مرتبط است که حفاظت دسترسی و مدیریت فضای نام را ارائه می دهد.رابط یک نوع مرجع مشابه کلاس است که مجموعه ای از متدهای انتزاعی است. بسته کمک می کند تا کلاس ها را به صورت روشمند دسته بندی کنید تا به راحتی به آنها دسترسی داشته باشید و آنها را نگهداری کنید. از سوی دیگر، Interface به پیاده سازی ارث بری های متعدد و دستیابی به انتزاع کمک می کند. این تفاوت اصلی بین Package و Interface در جاوا است. علاوه بر این، نحوه نوشتن یک بسته با حروف کوچک مانند java.util، java.awt است. اگر نام اینترفیس Area باشد، با عبارت Interface Area نوشته می شود.

تفاوت بین بسته و رابط در جاوا به شکل جدول
تفاوت بین بسته و رابط در جاوا به شکل جدول
تفاوت بین بسته و رابط در جاوا به شکل جدول
تفاوت بین بسته و رابط در جاوا به شکل جدول

خلاصه - بسته در مقابل رابط در جاوا

تفاوت بین Package و Interface در جاوا این است که Package به دسته بندی کلاس ها به صورت روشمند برای دسترسی و نگهداری آسان آنها کمک می کند در حالی که Interface به پیاده سازی چندین وراثت و دستیابی به انتزاع کمک می کند.

توصیه شده: