ersbary

در نمایش آنلاین پاورپوینت، ممکن است بعضی علائم، اعداد و حتی فونت‌ها به خوبی نمایش داده نشود. این مشکل در فایل اصلی پاورپوینت وجود ندارد.




  • جزئیات
  • امتیاز و نظرات
  • متن پاورپوینت

امتیاز

درحال ارسال
امتیاز کاربر [0 رای]

نقد و بررسی ها

هیچ نظری برای این پاورپوینت نوشته نشده است.

اولین کسی باشید که نظری می نویسد “ارث بری”

ارث بری

اسلاید 1: مبحث: ارث بری Inheritance1به نام حق

اسلاید 2: تعریف:فرایند ایجاد کلاس های جدید به نام کلاسهای مشتق شده از کلاس موجود یا پایه است.ویژگیها:1-کلاس مشتق شده تمام توانایی های کلاس پایه را به ارث می برد اما میتواند تظریف هایی از آن باشد.2-کلاس پایه بدون تغییر باقی می ماند.3-ارث بری باعث صرفه جویی در وقت و افزایش اطمینان برنامه میشود.4-قابلیت استفاده مجدد در توضیع آسان کتابخانه های کلاس .2

اسلاید 3: کلاس مشتق شده و کلاس پایه: مثال: این یک نمونه از ارث بری در جامعه دانشگاه است که کلاس های دانشجو و کارمندان از کلاس اعضای جامعه مشتق شده اند و کلاس های استاد و کارمندان اداری از کلاس کارمندان مشتق شده اند. EmployeeCommunityMemberStudentStaffTeacher

اسلاید 4: کلاس مشتق شده و کلاس پایه مثال: این یکی نمونه ای از ارث بری در کلاس اشکال است که در آن کلاس های دایره و مثلث ومستطیل از این کلاس مشتق شده اند. ShapeCircleSquareTriangle

اسلاید 5: نحوه تعريف كلاس مشتق از كلاس پايهclass DerivedClass: public BaseClass{//class members};class Triangle: public Shape{//class members};نام كلاس مشتقنوع ارث برينام كلاس پايه

اسلاید 6: کلاس مشتق شده و کلاس پایه

اسلاید 7: مثال کلاس counter7

اسلاید 8: توضيح مثال کلاس counterخط زیر نشان میدهد که این کلاس جدید با دسترسی عمومی از کلاس اول مشتق شده است.class countDn:public counterتوابع عضو کلاس پایه را می توان به وسیله اشیاء کلاس مشتق مورد دسترسی قرار داد که البته این به قابلیت دسترسی کلاس مشتق باز میگردد.

اسلاید 9: ويژگيهاي كلاس مشتقهمانطور كه اشاره شد هنگامي كه يك كلاس از يك كلاس پايه مشتق ميشود باعث ميشود دوباره كاري صورت نگيرد و تمامي رفتارها و ويژگيهاي موجود در كلاس پايه به كلاس مشتق شده انتقال يابدتوجه داشته باشيد كه وقتي شما كلاس جديدي را از يك كلاس پايه مشتق ميكنيد همانند گذشته هيچ گونه شي خاصي ساخته نميشود و تنها كلاس تعريف ميگردد

اسلاید 10: ويژگيهاي كلاس مشتق-ادامهكلاس مشتق شده ميتواند رفتارها و ويژگيهاي ديگري نيز علاوه بر آنچه كه از والد خود به ارث برده است داشته باشد.مثلاً در مثال شمارنده كلاس مشتق شده يك متد با نام operator– اضافه تر از آنچه كه از كلاس والد به ارث برده دارد.

اسلاید 11: انواع ارث بريدر مثالهاي قبل نوع ارث بري مشخص شده از نوع public ميباشد.انواع ارث بري كه ميتوان براي ساخت كلاس مشتق استفاده كرد عبارتند از:publicprivateprotected

اسلاید 12: انواع ارث بريpublic: در اين نوع ارث بري تمامي متغيرها و توابع عضو public و protected كلاس پايه به همان شكل در كلاس مشتق شده انتقال مي يابندprotected: در اين نوع ارث بري تمامي متغيرها و توابع عضو public و protected كلاس پايه به شكل protected به كلاس مشتق شده انتقال مي يابندprivate: در اين نوع ارث بري تمامي متغيرها و توابع عضو public و protected كلاس پايه به شكل privateبه كلاس مشتق شده انتقال مي يابند

اسلاید 13: قابلیت دسترسی به متغيرهاي ارث برده شده از كلاس پایه در کلاس مشتق با توجه به نوع ارث بري

اسلاید 14: متغيرهاي عضو private در ارث بري چه ميشوندهمانگونه كه از متغيرهاي private عضو يك كلاس انتظار داريم، اين متغيرها بايد از دسترس تمامي كلاسهاي ديگر مخفي بمانددر ارث بري متغير عضو private به كلاس مشتق شده انتقال مي يابد ولي كلاس مشتق شده نميتواند بطور مستقيم با متغير كار كند و بايد از طريق ديگر توابع عمومي كه از كلاس پايه گرفته مقدار عضو را تغيير دهد.

اسلاید 15: تمرينكلاس پايه اي تعريف نموده و يك متغير عضو private با نام pvar براي آن در نظر بگيريد.توابع get و set را براي متغير بصورت public تعريف نماييداز روي كلاس پايه يك كلاس مشتق نماييدتابعي در كلاس مشتق بنويسيد و سعي كنيد بصورت مستقيم مقدار متغير pvar را تغييردهيد.

اسلاید 16: اگر برای کلاس مشتق سازنده ای تعریف نشود مثل مثال بالا هنگام ساختن شیء از این کلاس سازنده کلاس پایه به تنهایی صدا زده میشوداما اگر سازنده ای برای آن تعریف شود و سازنده آن هیچ آرگومانی را دریافت نکند به صورت زیر سازنده ها و سپس مخرب های کلاس پایه و مشتق فراخوانده می شوند:1-ابتدا سازنده کلاس پایه فراخوانده می شود.2-سازنده کلاس مشتق صدا زده می شود.3-هنگام فراخوانی مخرب ها اول مخرب کلاس مشتق اجرا می شود.4-در انتها مخرب کلاس پایه به اجرا در می آید.سازنده های کلاس مشتق:

اسلاید 17: سازنده های کلاس مشتقاگر سازنده کلاس پایه آرگومانی را به عنوان ورودی دریافت کند (كلاس پايه سازنده پيش فرض نداشته باشد) حتماً باید این ورودی در سازنده کلاس مشتق در یافت شده و سازنده كلاس پايه فراخواني شودنحوه فراخواني سازنده كلاس پايه به صورت زیر، از ( : ) استفاده شودDerived::Derived(int g):Base(g)}....{

اسلاید 18: همپوشانی توابع عضو:ویژگی منحصر به فرد دیگری که ارث بری امکان آن را به ما می دهد همپوشانی توابع عضو کلاس های پایه و مشتق است به این معنی که در هر دو کلاس یک تابع با یک اسم مشترک داریم برای مثال در مثال اشکال هم کلاس پایه هم همه ی کلاس های مشتق آن تابع ترسیم را دارند و از آنجایی که اشیاء کلاس مشتق قابلیت صدا زدن توابع عضو کلاس پایه را دارند این سوال پیش می آید که کدام تابع فراخوانی می شود؟

اسلاید 19: همپوشانی توابع عضوخوب جواب اینست که اگر ما هیچ مثل قدیم توابع را تعریف کنیم تابع کلاس مشتق فراخوانده می شود (مثال بالا) اما اگر در کلاس مشتق در هنگام تعریف تابع از (::) استفاده کنیم تابع ازکلاس پایه فراخوانده می شود!

اسلاید 20: همپوشانی توابع عضودر مثال بالا تابع مربوطه با عملگر (::) از کلاس پایه صدا زده شد که البته اگر ورودی داشته باشد به همان روال عادی ورودی ها را نیز در آن می نویسیم.البته این بحث این جا به پایان نمی رسد ولی فعلاً از آن عبور می کنیم و در چند فصل جلوتر به آن بازمی گردیم و خاصیت اصلی آن را در فصل توابع مجاری بحث می کنیم که بسیار کاربرد دارد و بحث جداگانه ای است.

اسلاید 21: کلاس های تجریدی:به مثال زیر توجه کنید در این مثال کلاس پایه 3 کلاس مشتق دارد که هر کارمندی عضو یکی از آنها است پس هیچ شیئی از کلاس پایه ایجاد نمی شود و تنها از کلاس های مشتق شیء ایجاد می کنند به این گونه کلاس ها که از آنها هیچ شیئی ایجاد نمی شود کلاس تجریدی گویند که مفهوم دقیق تجرید را نیز در بخش 11 برای شما خواهیم گفت همین قدر بدانید که هیچ گاه نباید از این کلاس ها شیئی ایجاد کنید و تنها مجاز به ایجاد اشیائی از کلاس های مشتق آن هستید!EmployeeStaffScientist Teacher

اسلاید 22: :public , privateارث بری تا به حال تنها از حالت ارث بري عمومی استفاده کردیم حال اگر از حالت ارث بري خصوصی استفاده کنیم اشیاء کلاس مشتق دیگر نمی توانند به توابع عضو عمومی کلاس پایه دسترسی پیدا کنند مثال:Class Derived : private Base

اسلاید 23: ارث بری چند گانه:در صورتی که یک کلاس از 2 یا چند کلاس مشتق شده باشد می گوییم ارث بری چند گانه بوده یعنی از چند کلاس ارث بری داشته و به صورت زیر آن را تعریف می کنیم:class Derived : public Base1 , public Base2 , ….

اسلاید 24: ارث بری چند گانهمباحث ارث بری چند گانه شامل بررسی سازنده ها و یک ابهام در این نوع ارث بری و در انتها کلاس های تودر تو می شود.ابتدا از سازنده ها شروع می کنیم:مثال:24

اسلاید 25: سازنده ها در ارث بری چند گانه:در این گونه ارث بری ها ابتدا سازنده های کلاس های پایه به ترتیب فراخوانده می شود و در آخر نیز دقیقاً عکس فرا خوانی سازنده ها مخرب ها صدا زده می شوند یعنی اول مخرب خود کلاس مشتق بعد مخرب کلاس پایه 2 (در مثال بالا) و در انتها مخرب اولین کلاس پایه !

اسلاید 26: ابهام در ارث بری چند گانه :گاهی اوقات پیش می آید که کلاس های پایه دارای یک تابع همنام هستند در حالی که کلاس مشتق دارای آن تابع نیست در این صورت برای کامپایلر این ابهام به وجود می آید که هنگام صدا زدن این تابع بوسیله اشیاء کلاس مشتق کدام تابع فراخوانده می شود که در مثال پایین آورده شده در این مواقع از عملگر (::) استفاده می کنیم.

اسلاید 27: ابهام در ارث بری چند گانه

اسلاید 28: ابهام در ارث بری چند گانهدر این مواقع مشکل مثل بالا حل می شود اما گاهی مشکل از این هم پیچیده تر است برای همین پیشنهاد می شود در مسائل جدی تر از ارث بری چند گانه استفاده نکنید از مشکلات جدی تر مثال پایین است:

اسلاید 29: #include <conio.h>#include <stdio.h>class Base1{ public: Base1() {printf(nBase1 Constructor); } ~Base1() {printf(nBase1 Distructor); }};class Base2{ public: Base2() {printf(nBase2 Constructor); } ~Base2() {printf(nBase2 Distructor); }};class Derived:public Base1,public Base2{ public: Derived() {printf(nDerived Constructor); } ~Derived() {printf(nDerived Distructor); }};int main(void){ clrscr(); Derived d; getch(); return 0;}

اسلاید 30:

اسلاید 31: ابهام در ارث بری چند گانهدر این مثال هنگام فراخوانی از کلاس مشتق پایانی چون 2 کپی مختلف از این تابع در کلاس های پایه هست برای همین کامپایلر دچار ابهام می شود و خطا می گیرد!

اسلاید 32: شامل بودن : کلاس های تو در توگاهی اوقات می توان به جای ارث بری از کلاس ها تو در تو استفاده کرد یعنی مثلاً یک شیء از کلاس اول در کلاس دوم تعریف کنیم (به عنوان خصوصیت) و سپس از آن استفاده کنیم البته باید داخل توابع آن از آن بهره ببریم و در خارج کلاس آن توابع را ضدا زد.مثال:

اسلاید 33: تمارین:1-سلسله مراتب وراثت برای جامعه دانشگاه را که در بالا آمده بود در نظر بگیرید (شامل دانشجو استاد وکارمند اداری) چهار کلاس مربوطه را پیاده سازی کنید؟2-برای رده های چهار ضلعی وذوزنقه ومتوازی الاضلاع ومستطیل سلسله مراتب وراثت را بنویسید و چهار ضلعی را به عنوان رده پایه در نظر بگیرید و آن را پیاده سازی نمایید با توابع رسم؟3-کلاس اشکال را که در بالا توضیح داده شد یک نمونه ساده از یک مثال دقیق به این فرم است:تمام اشکالی را که میتوانید تصور کنید 2 بعدی و 3 بعدی را بنویسید وسلسله مراتب آن ها را تشکیل دهید و آنها را به عنوان مشتق های کلاس های مشتق پایه اصلی تعریف کنید.ShapeTow dimensional shapeThree dimensional shape

اسلاید 34: تمارین4-در موارد مختلفی نیاز داریم یک جفت عدد را باهم نگه داری کنیم مثل مختصات یک نقطه کلاس مربوطه را بنویسید حال کلاس پشته2 را از کلاس پشته معمولی مشتق کنید این پشته برای این جفت عدد به کار می رود ضمناً توابع ورودی و خروجی پشته را نیز برای کلاس دوم بنویسید؟5-یک موسسه در دو نوع مختلف کتاب و نوار ویدئویی محصولات آموزشی خود را ارائه می دهد کلاس های مشتق و کلاس پایه را تعریف کنید ضمناً همه آثار دارای ویژگیهای عنوان و قیمت هستند.

34,000 تومان

خرید پاورپوینت توسط کلیه کارت‌های شتاب امکان‌پذیر است و بلافاصله پس از خرید، لینک دانلود پاورپوینت در اختیار شما قرار خواهد گرفت.

در صورت عدم رضایت سفارش برگشت و وجه به حساب شما برگشت داده خواهد شد.

در صورت بروز هر گونه مشکل به شماره 09353405883 در ایتا پیام دهید یا با ای دی poshtibani_ppt_ir در تلگرام ارتباط بگیرید.

افزودن به سبد خرید