چگونه میتوانید از مفهوم پلی مورفیسم (polymorphism) در C++ برای ایجاد کد قابل توسعه و قابل تغییر استفاده کنید؟
توضیحات:
استفاده از مفهوم پلیمورفیسم در C++ به شما این امکان را میدهد که کدی ایجاد کنید که بتوانید آن را با تغییرات کمتری تغییر دهید و به راحتی آن را گسترش دهید. برای این منظور میتوانید از دو نوع پلیمورفیسم یعنی پلیمورفیسم زمان اجرا و پلیمورفیسم زمان کامپایل استفاده کنید.
پلیمورفیسم زمان اجرا:
- این نوع پلیمورفیسم به وسیله استفاده از تابعهای مجازی (virtual functions) در کلاسها ایجاد میشود.
- با استفاده از تابعهای مجازی، میتوانید یک رابطه یکسان برای کلاسهای مختلف ایجاد کنید و به این ترتیب از اصول ابسترهسازی (abstraction) و پلیمورفیسم استفاده کنید.
- با استفاده از پلیمورفیسم زمان اجرا، میتوانید کدی ایجاد کنید که برای انواع مختلف دادهها یا شیءها عملکرد یکسانی داشته باشد و تنها با تغییر در انواع دادهها یا شیءها، کد را گسترش دهید.
پلیمورفیسم زمان کامپایل:
- این نوع پلیمورفیسم به وسیله استفاده از توابع الگو (template functions) در C++ ایجاد میشود.
- با استفاده از توابع الگو، میتوانید یک تابع یا کلاس را برای انواع مختلف دادهها یا شیءها ایجاد کنید، به این ترتیب کدی ایجاد میشود که به صورت پویا با توجه به نوع دادهها یا شیءها عمل میکند.
- با استفاده از پلیمورفیسم زمان کامپایل، میتوانید کدی ایجاد کنید که برای انواع مختلف دادهها یا شیءها قابل استفاده باشد و به راحتی آن را گسترش دهید.
با استفاده از این دو نوع پلیمورفیسم، میتوانید کدی ایجاد کنید که قابل توسعه و قابل تغییر باشد و با تغییرات کمتری قابل گسترش باشد. این روشها به شما امکان میدهند که کدی ایجاد کنید که منطق برنامه را از جزئیات پنهان کند و به راحتی آن را تغییر دهید.
موفق باشید
A.J
پست های مرتبط:
فروشگاه سورسا:
سورسا ، یک خانواده!
شما میتوانید از سورس های آماده به راحتی و با کپی پیست در پروژه خود استفاده بفرمایید
بله! سورسا به عنوان اولین و برترین مرجع سورس کد های آماده، تمامی سورس کد ها در زبان های مختلف را به صورت رایگان در اختیار شما قرار میدهد.
اگر سورس مد نظر شما تفاوتی با سورس فعلی دارد یا اینکه درخواست سورس دیگری را دارید میتوانید با کارشناسان سورسا در ارتباط باشید.
سورسا به عنوان مرجع سورس در تلاش است سورس کد ها و آموزش های تمامی زبان های برنامه نویسی مانند GO C++ Python C PHP SQL JS و… را تحت پوشش قرار داد