تفاوت بین صحافی زودهنگام و دیررس

فهرست مطالب:

تفاوت بین صحافی زودهنگام و دیررس
تفاوت بین صحافی زودهنگام و دیررس

تصویری: تفاوت بین صحافی زودهنگام و دیررس

تصویری: تفاوت بین صحافی زودهنگام و دیررس
تصویری: صحافی استاتیک و دینامیک در C++ با مثال (صحافی زودهنگام و دیررس) 2024, ژوئن
Anonim

تفاوت کلیدی - اتصال زود هنگام در مقابل دیرکرد

Early Binding و Late Binding دو مفهوم مرتبط با Polymorphism هستند. پیوند اولیه در زمان کامپایل رخ می دهد در حالی که اتصال دیرهنگام در زمان اجرا رخ می دهد. تفاوت اصلی بین Early و Late Binding این است که Early Binding از اطلاعات کلاس برای حل فراخوانی متد استفاده می کند در حالی که Late Binding از شی برای حل فراخوانی متد استفاده می کند.

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

Early Binding چیست؟

در Early Binding، اطلاعات کلاس برای حل فراخوانی متد استفاده می شود. پیوند اولیه در زمان کامپایل رخ می دهد. همچنین به عنوان اتصال ایستا شناخته می شود. در این فرآیند، اتصال قبل از اجرای واقعی برنامه اتفاق می‌افتد. روش های اضافه بار با استفاده از اتصال اولیه باند می شوند. به برنامه زیر مراجعه کنید.

تفاوت بین صحافی زودرس و دیررس
تفاوت بین صحافی زودرس و دیررس

شکل 01: کلاس محاسبه

تفاوت بین صحافی زودرس و دیرهنگام_شکل 02
تفاوت بین صحافی زودرس و دیرهنگام_شکل 02

شکل 02: برنامه اصلی برای اتصال اولیه

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

صحافی دیرهنگام چیست؟

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

تفاوت بین صحافی زودرس و دیرهنگام_شکل 03
تفاوت بین صحافی زودرس و دیرهنگام_شکل 03

شکل 03: کلاس شکل

تفاوت بین صحافی زودرس و دیرهنگام_شکل 04
تفاوت بین صحافی زودرس و دیرهنگام_شکل 04

شکل 04: کلاس دایره ای

تفاوت بین صحافی زودرس و دیرهنگام_شکل 05
تفاوت بین صحافی زودرس و دیرهنگام_شکل 05

شکل 05: کلاس مثلث

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

شکل 06: برنامه اصلی برای Late Binding

طبق برنامه بالا، کلاس Shape دارای روش ترسیمی است. کلاس Circle و کلاس Triangle کلاس Shape را گسترش می دهند. بنابراین این دو کلاس می توانند صفات و متدهای کلاس Shape را به ارث ببرند. Shape Class کلاس پایه است. کلاس های دایره و مثلث کلاس های مشتق شده هستند. کلاس Circle و کلاس Triangle نیز متد draw با پیاده سازی های خاص خود را دارند. بنابراین، متد ترسیم در کلاس Shape توسط روش‌های ترسیم کلاس‌های مشتق شده لغو می‌شود.

در برنامه اصلی، یک متغیر مرجع s از نوع Shape ایجاد می شود. در زمان کامپایل، کامپایلر فقط روش ترسیم کلاس پایه را ارجاع می دهد. در زمان اجرا، متدهای مختلف قرعه کشی اجرا می شوند.ابتدا s به شی از نوع Shape اشاره می کند. بنابراین، متد ترسیم کلاس Shape فراخوانی می شود. سپس s به شی از نوع Circle اشاره می کند و متد ترسیم کلاس Circle را فراخوانی می کند. در نهایت s به شی از نوع Triangle اشاره می کند و متد draw را در کلاس Triangle فراخوانی می کند. متدها بسته به اشیا فراخوانی می شوند. بنابراین، شی برای حل و فصل فراخوانی متد در Late Binding استفاده می شود. اطلاعات مورد نیاز برای صحافی در زمان اجرا ارائه می شود، بنابراین سرعت اجرا در مقایسه با صحافی اولیه کندتر است.

شباهت بین صحافی زودرس و صحافی دیرهنگام چیست؟

هم پیوند زودرس و هم اتصال دیررس به چندشکلی مرتبط هستند که ستونی از OOP است

تفاوت بین صحافی زودرس و دیرهنگام چیست؟

صحافی زود هنگام در مقابل صحافی دیررس

فرایند استفاده از اطلاعات کلاس برای حل فراخوانی متد که در زمان کامپایل رخ می دهد Early Binding نامیده می شود. فرایند استفاده از شی برای حل و فصل فراخوانی متد که در زمان اجرا رخ می دهد، Late Binding نامیده می شود.
زمان صحافی
Early Binding در زمان کامپایل اتفاق می افتد. اتصال دیرهنگام در زمان اجرا اتفاق می افتد.
کارکرد
Early Binding از اطلاعات کلاس برای حل فراخوانی روش استفاده می کند. Late Binding از شی برای حل فراخوانی متد استفاده می کند.
مترادف
Early Binding به عنوان اتصال ایستا نیز شناخته می شود.. صحافی دیرهنگام به عنوان اتصال پویا نیز شناخته می شود.
رویداد
روش های اضافه بار با استفاده از اتصال اولیه به هم متصل می شوند. روش های لغو شده با استفاده از اتصال دیرهنگام پیوند می شوند.
سرعت اجرا
سرعت اجرا در صحافی اولیه سریعتر است. سرعت اجرا در صحافی دیرهنگام کمتر است.

خلاصه - پیوند زود هنگام در مقابل دیرکرد

OOP معمولا برای توسعه نرم افزار استفاده می شود. یکی از ارکان اصلی OOP چندشکلی است. صحافی زودرس و صحافی دیرهنگام مربوط به آن است. Early Binding در زمان کامپایل اتفاق می افتد در حالی که Late Binding در زمان اجرا رخ می دهد. در روش اضافه بار، اتصال با استفاده از اتصال اولیه اتفاق می افتد. در روش overriding، پیوند با استفاده از اتصال دیرهنگام اتفاق می‌افتد. تفاوت بین Early و Late Binding این است که Early Binding از اطلاعات کلاس برای حل فراخوانی متد استفاده می کند در حالی که Late Binding از شی برای حل فراخوانی متد استفاده می کند.

توصیه شده: