تفاوت بین Overload و Overriding در جاوا

فهرست مطالب:

تفاوت بین Overload و Overriding در جاوا
تفاوت بین Overload و Overriding در جاوا

تصویری: تفاوت بین Overload و Overriding در جاوا

تصویری: تفاوت بین Overload و Overriding در جاوا
تصویری: جاوا OVERLOADING در مقابل OVERRIDING. آموزش شی گرا جاوا. شماره 16 2024, نوامبر
Anonim

تفاوت کلیدی – بارگذاری بیش از حد در مقابل Overriding در جاوا

برنامه نویسی شی گرا (OOP) یک پارادایم اصلی در توسعه نرم افزار است. این یک متدولوژی برای طراحی یک برنامه با استفاده از کلاس ها و اشیاء است. کلاس یک نقشه است. آنچه را که باید در شیء وجود داشته باشد، توصیف می کند. این ویژگی ها یا ویژگی ها و روش هایی را که شی باید از آنها تشکیل شده باشد، تعریف می کند. بنابراین، یک شیء نمونه ای از یک کلاس است. این اشیا با اشیاء دیگر ارتباط برقرار می کنند. یکی از مفاهیم اصلی OOP چند شکلی است. این توانایی یک شی برای رفتار چندگانه است. چند شکلی به دو بخش اضافه بار و غلبه کننده تقسیم می شود.در این مقاله به تفاوت این دو در جاوا می پردازیم. تفاوت اصلی بین overloading و overriding در جاوا این است که Overloading توانایی ایجاد چندین متد به یک نام با پیاده سازی های مختلف است و Overriding ارائه پیاده سازی برای یک متد زیر کلاسی است که از قبل در سوپرکلاس وجود دارد.

بارگذاری بیش از حد در جاوا چیست؟

Overloading توانایی ایجاد چندین روش به یک نام با پیاده سازی های مختلف است. به کد جاوا زیر مراجعه کنید.

تفاوت بین Overload و Overriding در جاوا
تفاوت بین Overload و Overriding در جاوا
تفاوت بین Overload و Overriding در جاوا
تفاوت بین Overload و Overriding در جاوا

شکل 01: برنامه جاوا که Overloading را با تعداد آرگومان های مختلف توضیح می دهد

طبق برنامه بالا، کلاس A شامل دو متد با نام یکسان است. روش جمع اول دارای دو پارامتر است. روش جمع دوم دارای سه پارامتر است. هنگام ایجاد یک شی از نوع A و فراخوانی sum(2, 3) ، متد sum را با دو پارامتر sum (int a, int b) فراخوانی می کند و 5 را برمی گرداند. هنگام ایجاد یک شی از نوع A و فراخوانی sum(2) ، 3، 4)، متد sum دیگر را با سه پارامتر فراخوانی می کند که مجموع (int a, int b, int c) است و 9 را برمی گرداند.

نام روش یکسان است اما تعداد پارامترها متفاوت است. می توان مشاهده کرد که یک شیء مشابه رفتار متفاوتی دارد. این مفهوم به عنوان اضافه بار شناخته می شود. از آن به عنوان چند شکلی زمان کامپایل یا اتصال ایستا نیز یاد می شود.

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

تفاوت بین Overload و Overriding در Java_Figure 02
تفاوت بین Overload و Overriding در Java_Figure 02
تفاوت بین Overload و Overriding در Java_Figure 02
تفاوت بین Overload و Overriding در Java_Figure 02

شکل 02: برنامه جاوا که سربارگذاری را با تعداد آرگومان های مختلف توضیح می دهد

طبق برنامه فوق، کلاس A از دو متد با نام یکسان تشکیل شده است. روش sum(int a, int b) دو مقدار صحیح دریافت می کند. مجموع (double a double b) دو مقدار مضاعف دریافت می کند. هنگام ایجاد شی از نوع A و فراخوانی sum(2, 3)، sum(int a, int b) را فراخوانی می کند و مقدار 5 را برمی گرداند. هنگام فراخوانی sum (3.4، 5.6)، sum (double a double) را فراخوانی می کند. ب) و مقدار 9.0 را برگردانید. در این مثال، متدها نام یکسانی دارند، اما نوع متفاوتی از متغیرها را دارند. این هم اضافه بار است.

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

در جاوا، امکان ساخت زیر کلاس‌ها با کلاس‌های موجود وجود دارد.به جای ایجاد کلاس جدید از ابتدا، می توان از ویژگی ها و متدهای کلاس موجود استفاده کرد. کلاس موجود سوپرکلاس است و کلاس مشتق شده زیر کلاس است. هنگامی که زیر کلاس یک پیاده سازی برای یک متد ارائه می دهد که قبلاً در سوپرکلاس است، به عنوان overriding شناخته می شود. به برنامه جاوا زیر مراجعه کنید.

تفاوت کلیدی بین Overload و Overriding در جاوا
تفاوت کلیدی بین Overload و Overriding در جاوا
تفاوت کلیدی بین Overload و Overriding در جاوا
تفاوت کلیدی بین Overload و Overriding در جاوا

شکل 03: برنامه جاوا برای نادیده گرفتن

طبق برنامه فوق، کلاس A دارای متد display() است. کلاس B از کلاس A گسترش می یابد، بنابراین ویژگی ها و متدهای کلاس A توسط کلاس B قابل دسترسی هستند.کلاس B دارای متد display() با پیاده سازی خاص است. هنگام ایجاد یک شی از نوع A و فراخوانی متد نمایش، خروجی B را می دهد. حتی اگر کلاس A دارای یک متد نمایش باشد، به روش نمایش کلاس B لغو می شود. زیر کلاس در حال پیاده سازی روشی است که از قبل در سوپرکلاس وجود دارد.

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

شباهت‌های بین Overload و Overriding در جاوا چیست؟

  • هر دو از انواع پلی مورفیسم هستند.
  • در overload و overriding، متدها یک نام دارند.

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

Overload در مقابل Overriding در جاوا

Overloading در جاوا توانایی ایجاد چندین روش به یک نام با پیاده سازی های مختلف است. Overriding در جاوا یک پیاده‌سازی خاص در متد زیر کلاس برای متدی است که از قبل در سوپرکلاس وجود دارد.
پارامترها
در بارگذاری بیش از حد، متدها نام یکسانی دارند اما تعداد پارامترهای متفاوت یا نوع متفاوتی از پارامترها دارند. در overriding، متدها نام یکسانی دارند و پارامترها باید یکسان باشند.
موضوعات
بارگذاری بیش از حد در کلاس رخ می دهد. Overriding در دو کلاسی که رابطه ارثی دارند رخ می دهد.
مترادف
بارگذاری بیش از حد را چندشکلی زمان کامپایل شده می گویند. Overriding چندشکلی زمان اجرا نامیده می شود.

خلاصه – اضافه بار در مقابل Overriding در جاوا

Polymorphism یک مفهوم اصلی در برنامه نویسی شی گرا است. این توانایی را برای یک شی فراهم می کند تا به روش های مختلف رفتار کند. این می تواند به صورت اضافه بار یا بیش از حد باشد. Overloading چندشکلی زمان کامپایل است و overriding چند شکلی زمان اجرا است. آنها در توسعه نرم افزار کاربردی مفید هستند. تفاوت بین overriding و overloading در این است که Overloading توانایی ایجاد چندین متد به یک نام با پیاده سازی های مختلف است و Overriding ارائه یک پیاده سازی خاص در متد subclass برای روشی است که از قبل در superclass وجود دارد. این امکان وجود دارد که هم overload و هم overriding را در جاوا پیاده سازی کنید.

دانلود PDF Overloading vs Overriding در جاوا

می توانید نسخه PDF این مقاله را دانلود کنید و طبق یادداشت نقل قول برای اهداف آفلاین از آن استفاده کنید. لطفاً نسخه PDF را از اینجا دانلود کنید تفاوت بین بارگذاری بیش از حد و لغو در جاوا

توصیه شده: