کلاس های انتزاعی بخش دو

آموزش کلاس های انتزاعی بیشتر (بخش ۲)

اساطیر زبان

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

abstract class FourLeggedAnimal

{

public abstract string Describe();

}

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

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

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


 

namespace AbstractClasses

{

class Program

{

static void Main(string[] args)

{

System.Collections.ArrayList animalList = new System.Collections.ArrayList();

animalList.Add(new Dog());

animalList.Add(new Cat());

foreach(FourLeggedAnimal animal in animalList)

Console.WriteLine(animal.Describe());

Console.ReadKey();

}

}

abstract class FourLeggedAnimal

{

public abstract string Describe();

}

class Dog : FourLeggedAnimal

{

public override string Describe()

{

return “I’m a dog!”;

}

}

class Cat : FourLeggedAnimal

{

public override string Describe()

{

return “I’m a cat!”;

}

}

}

همانطور که می بینید ، ما یک ArrayList ایجاد می کنیم تا حیوانات ما را در خود جای دهد. سپس یک Dog (سگ) جدید و یک Cat (گربه) جدید را نمونه سازی می کنیم و آنها را به لیست اضافه می کنیم. آنها به ترتیب به عنوان یک سگ و یک گربه نمونه سازی می شوند، اما آنها همچنین از نوع FourLeggedAnimal نیز هستند و از آنجا که کامپایلر می داند که زیر کلاس های آن کلاس، حاوی روش ()Describe است ، شما در واقع بدون دانستن دقیق نوع حیوان، مجاز به فراخوانی آن متد هستید. . بنابراین با ارجاع نقش ها به FourLeggedAnimal ، کاری که در حلقه foreach انجام می دهیم، می توانیم به اعضای زیر کلاس ها دسترسی پیدا می کنیم. این امر می تواند در بسیاری از حالات بسیار مفید باشد.

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست