نمایش نتایج 1 تا 5 از 5

نام تاپیک: امکانات و استفاده های ممکن از وراثت

  1. #1

    Post امکانات و استفاده های ممکن از وراثت

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

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: امکانات و استفاده های ممکن از وراثت

    نقل قول نوشته شده توسط siniyor2012 مشاهده تاپیک
    سلام به دوستان خوبم
    من برام یک سوال پیش اومده و اون اینه که وراثت صرفا جهت کمتر شدن کد نویسی فایده داره یا مزیت هایی دیگه هم داره....
    البته من شنیدم که وراثت خیلی مفیده اما اگر ممکن هست مثالی رو هم همراه با توضیحاتتون بفرمایید.
    با تشکر
    در جاوا مفهوم ارث بری با کلمه extend تعریف شده و s آخر اون مربوط به سوم شخص هست. کلمه extend یا همان بسط و گسترش دادن بسیار کلمه مناسبی هست که انتخاب شده.

    قانون اول برای نوشتن کد برنامه شی گرا : بسته برای تغییر و باز برای گشترش یا بسط.

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

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

  3. #3
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: امکانات و استفاده های ممکن از وراثت

    نقل قول نوشته شده توسط siniyor2012 مشاهده تاپیک
    سلام به دوستان خوبم
    من برام یک سوال پیش اومده و اون اینه که وراثت صرفا جهت کمتر شدن کد نویسی فایده داره یا مزیت هایی دیگه هم داره....
    البته من شنیدم که وراثت خیلی مفیده اما اگر ممکن هست مثالی رو هم همراه با توضیحاتتون بفرمایید.
    با تشکر
    تکراری

  4. #4

    نقل قول: امکانات و استفاده های ممکن از وراثت

    فرض کن یک پروژه ای(برنامه) که با دیتابیس کار میکنه و دارای 40 کلاس است و همه ی کلاس ها چندین فیلد مشترک دارند مثلا 7تا و برای هر فیلد متدهای get و set نوشته شده است (حداقل) اگر به ازای هر کلاس این پروژه 7 تا فیلد نوشته شود و متدهای set و get نوشته شود حدود 840 خط میشه که اگر از ارث بری استفاده بشه 21 خط میشه که این یک مزیت خیلی بزرگیه.
    علاوه بر این اگر خواستی در وسط راه یکی از متدها را تغییر بدهی باید متد های همه ی کلاس ها را تغییر بدهی که با ارث بری فقط یک متد را تغییر می دهی در ضمن اگر اشتباهی هم در پیاده سازی متد رخ داده باشه پیدا کردن این مشکل هم سخته و هم زمان بر که در ارث بری دیگر این مشکل نیست.(این مثالی که زدم پروژه ای است که خودم روی آن کار میکنم)
    امیدوارم که متوجه شده باشی.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: امکانات و استفاده های ممکن از وراثت

    نقل قول نوشته شده توسط daneshju69 مشاهده تاپیک
    فرض کن یک پروژه ای(برنامه) که با دیتابیس کار میکنه و دارای 40 کلاس است و همه ی کلاس ها چندین فیلد مشترک دارند مثلا 7تا و برای هر فیلد متدهای get و set نوشته شده است (حداقل) اگر به ازای هر کلاس این پروژه 7 تا فیلد نوشته شود و متدهای set و get نوشته شود حدود 840 خط میشه که اگر از ارث بری استفاده بشه 21 خط میشه که این یک مزیت خیلی بزرگیه.
    علاوه بر این اگر خواستی در وسط راه یکی از متدها را تغییر بدهی باید متد های همه ی کلاس ها را تغییر بدهی که با ارث بری فقط یک متد را تغییر می دهی در ضمن اگر اشتباهی هم در پیاده سازی متد رخ داده باشه پیدا کردن این مشکل هم سخته و هم زمان بر که در ارث بری دیگر این مشکل نیست.(این مثالی که زدم پروژه ای است که خودم روی آن کار میکنم)
    امیدوارم که متوجه شده باشی.

    لطفا یک لینک معتبر به من نشون بدین که هدف از ارث بری در شی گرایی برای کاهش تعداد خط کد بوده. ممنون می شوم.

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

    همه ی کلاس ها چندین فیلد مشترک دارند مثلا 7تا و برای هر فیلد متدهای get و set نوشته شده است (حداقل) اگر به ازای هر کلاس این پروژه 7 تا فیلد نوشته شود و متدهای set و get نوشته شود حدود 840 خط میشه که اگر از ارث بری استفاده بشه 21 خط میشه که این یک مزیت خیلی بزرگیه.
    اینجا یک جورایی به تناقض می رسه.

    این نکته دیتابیس رو هم من نگرفتم یعنی اگر دیتابیس نبود مشکلی نیست تعداد خط کد بالا بره؟

    باقی گفته هاتون رو هم بی خیال می شم و وفت نمی زارم برای جواب.

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

تاپیک های مشابه

  1. پاسخ: 17
    آخرین پست: جمعه 19 مهر 1387, 10:10 صبح
  2. بزرگترین زیر مجموعه های ممکن اعداد پشت سرهم
    نوشته شده توسط رضا عربلو در بخش SQL Server
    پاسخ: 1
    آخرین پست: سه شنبه 03 مهر 1386, 23:37 عصر
  3. کسایی که از تمام امکانات KDTele استفاده کردن...
    نوشته شده توسط net_ved در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: پنج شنبه 08 دی 1384, 21:46 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •