راهنمای عملی چند شکلی پویا در برنامه نویسی C

چندشکلی پویا یک الگوی برنامه‌نویسی است که انعطاف‌پذیری و قابلیت نگهداری کد را با اجازه دادن به اشیاء به صورت یکنواخت و در عین حال نشان دادن رفتارهای مختلف افزایش می‌دهد. این مفهوم به ویژه در سناریوهایی که شامل مجموعه هایی از اشیاء مرتبط هستند که نیاز به انجام اقدامات خاصی دارند مفید است. در این مقاله، ما دو اجرای شبیه‌سازی اسباب‌بازی را در C مقایسه می‌کنیم تا مزایای پلی‌مورفیسم پویا را نشان دهیم.

اجرای اولیه بدون چند شکلی

در اینجا الف را تعریف می کنیم Toy ساخت با a name درست کنید و سه نمونه از اسباب بازی های باربی و سوپرمن را ایجاد کنید. هر اسباب بازی مقداردهی اولیه می شود و آرایه ای از اشاره گرها به این نمونه های اسباب بازی ایجاد می شود. این main تابع از طریق آرایه تکرار می شود و صدای مربوط به هر اسباب بازی را بر اساس نام آن چاپ می کند.

#include 
#include 

// Function prototypes for the sounds made by different toys
char const* barbieSound(void){return "Love and imagination can change the world.";}
char const* supermanSound(void){return "Up, up, and away!";}

// Struct definition for Toy with an character array representing the name of the toy
typedef struct Toy{
    char const* name;  
}Toy;

int main(void){
    //Alocate memory for three Toy instances
    Toy* toy1 = (Toy*)malloc(sizeof(Toy));
    Toy* toy2= (Toy*)malloc(sizeof(Toy));
 ...

Source link