دانلود اموزش تصویری شی گرا در سی شارپ قسمت دوم

شی گرا در سی شارپ

اختصاصی ام اس پی سافت

با بخش دوم اموزش شی گرا در سی شارپ در خدمت شما هستیم این سری اموزش از اموزش های اختصاصی ام اس پی سافت هستش که امید وارم مانند قست اول نیز مورد استقبال دوستان قرار بگیره در این بخش نیز که سعی شده اشکالات و ضعفهای تصویر برداری و صداگزاری را راعایت کنیم امیدوارم اموزش تصویری مفیدی باشه که ازش استفاده کنید.دنیای برنامه نویسی امروزه بر مفهوم شئ گرایی استوار است. شئ گرایی به زبان ساده یعنی دنیا را آنطور ببنیم که هست! زبان #C یکی از بهترین زبانهایی است که دارای تمامی امکانات جهت پیاده سازی مفاهیم اصیل شئ گرایی است.

Inheritance (ارث بری)

پدر و فرزندی را در نظر بگیرید. هر پدری مشخصات فردی به خصوصی دارد. فرزند وی می تواند همه خصوصیات او را به ارث برد و خصوصیتهای دیگری نیز داشته باشد که پدرش ندارد. این یعنی ارث بری! برای مثال پدر وقتی عصبانی می شود، داد و فریاد می کند. پسر هم این خصوصیت را به ارث می برد با این تفاوت که وقتی عصبانی می شود، علاوه بر داد زدن، چند عدد بشقاب هم می شکند. در برنامه نویسی شئ گرا از مفهوم ارث بری استفاده های زیادی می شود. برای تفهیم راحت تر مسئله فرض کنید کلاسی به نام وسیله نقلیه داریم. از آنجا که هر وسیله نقلیه ای حرکت می کند، رنگ دارد، سرعت دارد، ترمز می گیرد و… می توانیم همه این متدها و فیلدها( کدام متدها و فیلدها!؟) را در کلاس وسیله نقلیه تعریف کنیم. حال یک وهله از این کلاس را در نظر بگیرید (مثلا دوچرخه!). یک دوچرخه یک وسیله نقلیه است که همه خصوصیات عمومی یک وسیله نقلیه را دارد و البته خصوصیاتی دارد که مختص خودش هستند و در انواع دیگر یافت نمی شوند. به این منظور این دوچرخه می تواند ویژگیها و متدهای مشترک را از کلاس وسیله نقلیه به ارث ببرد و در عین حال ویژگیهای منحصر به خود را نیز داشته باشد. قابلیت استفاده دوباره از کد (Reusability) یکی از مزیات اصلی ارث بری است.

توضیحات بیشتر در مورده شی گرا در سی شارپ

Encapsulation

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

فرض کنید سوار ماشینی هستید که به سرعت در حرکت است! در مسیری که می روید ماشین پدر نامزدتان از روبرو به شما نزدیک می شود و سعی می کنید سریع ترمز بگیرید تا برخورد نکنید. اگر قرار باشد که بدانید بعد از فشار دادن پدال ترمز چه عملیاتی انجام می شود تا ترمز گرفته شود، دیگر باید از ازدواج قطع امید کنید. ولی اگر تنها بدانید که با فشار دادن پدال، ترمز گرفته می شود شما خوشبخت خواهید شد. در واقع ما در اینجا کار ترمز گرفتن ماشین را به صورت یک کپسول آماده در نظر می گیریم. هدف Encapsulation این است که ما را از پرداختن به ریز موضوعات رها کند و اشیاء را به صورت یک جعبه سیاهی بدانیم که به ازای یک ورودی خاص خروجی خاصی می دهند. اگر می خواهیم کدهای ما نیز این مورد را رعایت کنند باید سعی کنیم نگاه کپسولی به اشیاء و عملکرد آنها داشته باشیم. در #C برای کپسوله کردن از Access Modifierهای protected ،private و public استفاده می شود.

Polymorphism

فرض کنید پدر شما کار خاصی را به طریق خاصی انجام می دهد. مثلا برای پختن غذا (حقیقتی است تلخ!) اول ظرفهای دیشب را شسته و بعد گاز را روشن می کند و بعد غذا می پزد! شما که خصوصیات پدر و کارهای او را به ارث می برید برای مثال برای پختن غذا ابتدا گاز را روشن می کنید، بعد کبریت می کشید، غذا را می پزید و بعد ظرفهای دیشب را می شویید! (توصیه می کنم نگذارید ظرفهایتان نشسته بمانند!) برادر شما ممکن است همین کار را به طریق دیگری انجام دهد. پختن غذا کاری است که شما از پدر خود به ارث می برید!!! ولی آن را به طریق دیگری انجام می دهید. یعنی یک کار ثابت توسط فرزندان مختلف یک پدر به طرق مختلفی انجام می شود. این دقیقا همان چیزی است که به آن چند شکلی یا Polymorphism می گویند.

 

مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    سعید پاسخ

    سلام خیلی ممنون از سایت زیباتون برنامهاتون به درد من میخوره ممنون میشم بقیه آموزش شی گرایی در سی شارپ رو هم زود تر تهیه کنید و در اختیار ما قرار بدهید از زحمات شما متشکرم از درس دادن استاد سر کلاس که چیزی نمیفهمیم اما آموزش شما یه چیزه دیگری است منتظر آموزشهای شما هستم با تشکر .....

      مسعود پاسخ

      ممنون اقا سعید از اقای گیتی تشکر کنید زحمت اموزش ها رو اقای گیتی میکشن.

    سیدصابر پاسخ

    سلام سایت بسیار خوبی دارید
    روز به روز هم در حال پیشرفته
    آرزو مدیر شدن تو سایت شما رو دارم

      مسعود پاسخ

      بسم الله .....

      http://www.mspsoft.com/send/

    سعید پاسخ

    باز هم سلام و تشکر و قدردانی فراوان از آقای گیتی و دیگر همکارانش درخواست میکنم که لطفا بقیه آموزش شی گرایی سی شارپ رو هم آماده کنند .
    با احترام و تشکرات فراوان .....

    مرتضی گیتی پاسخ

    با سلام خدمت تمامی دوستان عزیز
    و تشکر بخاطر لطفی که به من دارید
    این آموزشهای حقیر قابل شما دوستان گرامی رو ندارند
    امیدوارم که نهایت استفاده رو برده باشید
    موفق و سربلند باشید

    علیرضا پاسخ

    واقعا زحمت میکشید و باعث رشد و شکوفایی علم تو کشور میشید و مطمعنم بازتابش به خود شما هم بر میگردد چون پیشرفت علم ما=پیشرفت کشور=زندگی در رفاه بیشتر....
    منم مثل دوستمون چیزهایی که از شما یاد گرفتم به مراتب از اساتید دانشگام بیشتر بوده و قابل فهم تر.
    امیدوارم که با تبلیغه سایتتون تو دانشگام بتونم 1% جبرانه زحماتتونو کرده باشم...

      مسعود پاسخ

      ممنون علیرضا جان لطف میکنید شما!

    مرتضی گیتی پاسخ

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

    saghar پاسخ

    سلام
    بابت همه ی تلاش ها و زحماتتون ممنون
    سایتتون عالیه

      M.S.P Soft پاسخ

      لطف دارید شما :)

    mamad پاسخ

    salam
    matlabetoon xili bahal bood

    man hala xili alaghe mand shodam ke mabhase shi geraii ro

    bekhoonam!
    MER30

    مرتضی گیتی پاسخ

    قابل شما رو نداره. خوشحالم که مفید بوده. برای استفاده از ویدئوهای آموزشی دیگه میتونید به وبلاگ من به آدرس
    ctg2012.blogfa.com
    برید

    موفق باشید

    zeinab پاسخ

    سلام
    خسته نباشید
    واقعا فیلم های عالی دارین بازهم تشکرتشکرتشکر

      M.S.P Soft پاسخ

      خواهش میکنم زحمت فیلم های رو مهندس گیتی کشیدن!

      موفق باشید :)

    مرتضی گیتی پاسخ

    با سلام خدمت تمامی دوستان عزیز. قابل هیچکدومتون رو نداره. امیدوارم که ببینید و استفاده کنید. یا حق.

    امیر پاسخ

    من عادت ندارم تو سایت های مختلف کامنت بزارم ولی وظیفه خودم دونستم که از این سایت عالیییییییتون تشکر کنم به خصوص استاد گیتی که زحمت اموزش #c را کشیدند.

      M.S.P Soft پاسخ

      ممنون از اینکه ما را مورد طلف خود قرار دادین و ممنون بابته تشکر از سازنده !

    k_hashemi پاسخ

    سلام وقت بخیر آقای گیتی چرا بقیه آموزش رو نمیزارید ؟
    دیگه ادامه نمیدین؟
    چند ماه هست که خبری نیست !
    امیدواریم که حالتون خوب باشه و مارو بیشتر ازین منتظر نذارین...
    موفق باشید

    Lizar3D پاسخ

    تشکر فراوان از شما Msp soft ها

      M.S.P Soft پاسخ

      موفق باشید :)

    ehsan پاسخ

    مرسی از سایت بسیار بسیار بسیار مفیدتون

      مسعود شریفی پاسخ

      ممنون لطف دارید موفق باشید

    مرتضی پاسخ

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

    مرتضی گیتی پاسخ

    سلام. مرسی از همه ی دوستان. تشکر.

    rms پاسخ

    سلام
    عالی بود , منتظر ویدئوهای بعدی هستم ..... از زحتماتی که میکشید ممنونم.

    موفق باشید

    نام شما... پاسخ

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

      مسعود شریفی پاسخ

      اگر هدف مند کار کنید خیلی خوبه ! سعی کنید پروژه ای جلو برید بیشتر تو کار تجربه کسب میکنید !

        یوسف پاسخ

        سلام خوبه با پروژه پیش برید مثلا یه پروژه دفتر خاطرات درست کن توش فال داشته باشه استخاره داشته باشه یا یه برنامه مدریت کتابخونه یا مدریت هتل یا برنامه برای داروخانه بساز وخیلی چیزای دیگه رستوران تاکسی تلفنی میتونی برای مدرسه ها برنامه آزمون گیر بسازی یا مدیریت مدرسه تا دلت بخواد میتونی برنامه تولید کنی

    مانی پاسخ

    سلام
    سایتتون خیلی عالیه
    آقای گیتی نحوه آموزش شما خیلی عالیه،ممنون از زحماتتون

    زهرا آوان پاسخ

    سلام خسته نباشید ممنونم از توضیح خوبتون.
    من میخوام در قالب موشن گرافیک مفهوم شی گرایی رو نشون بدم ولی مثال خوبی به ذهنم نمیرسه.اگه امکان داره راهنمایم کنید.
    باتشکر فراوان

    ماریا پاسخ

    مرتضی گیتی هرجوری بگم ممنونم نمیشه فقط میتونم بگم عالی بود
    صداتم خیلی قشنگه مهندس.

    حامد جمال پور در 1393/11/28 پاسخ

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

    ممنون ممنون ممنون

    مرتضی گیتی پاسخ

    با سلام خدمت تمامی دوستان عزیز. لطفا از سایت خودم دیدن کنید. آموزش ها رو از این به بعد اونجا می ذاریم. provid.ir

ما یک پرسشنامه‌ی کوچولو داریم، که قول میدیم وقتتون رو خیلی نمی‌گیره، ولی کلی به ما کمک می‌کنه، چون هم assessment مونه ,و هم شما به ما در این زمینه کمک میکنید.بزن بریم