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

نام تاپیک: کپسوله سازی چیست؟

  1. #1
    کاربر دائمی آواتار arash_flag
    تاریخ عضویت
    دی 1392
    محل زندگی
    اصفهان
    پست
    220

    Question کپسوله سازی چیست؟

    سلام دوستان تبدیل یک فیلد به خصوصیت همان کپسوله سازی است ؟
    در شی گرایی سی شارپ دیگر چه مفاهیمی وجود دارد؟

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1393
    محل زندگی
    تهران
    پست
    85

    نقل قول: کپسوله سازی چیست؟

    سلام دوست عزیز تا جاییکه من اطلاع دارم کپسوله سازی یا همون (encapsulation) یعنی مخفی کردن خصوصیات یک شی از شی های دیگر .
    در مورد تبدیل فیلد به خصوصیت چیزی نمی دونم ! امیدوارم اساتید از تجربیات خودشون به ما بگن

  3. #3
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: کپسوله سازی چیست؟

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

  4. #4

    نقل قول: کپسوله سازی چیست؟

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

  5. #5
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: کپسوله سازی چیست؟

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

    با آرزوی موفقیت .

  6. #6
    کاربر دائمی آواتار یونس ابراهیمی
    تاریخ عضویت
    آذر 1391
    محل زندگی
    کوهدشت
    سن
    42
    پست
    195

    نقل قول: کپسوله سازی چیست؟

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

    using System;

    public class Test
    {
    public int five = 5;

    public int AddFive(int number)
    {
    number += five;
    return number;
    }
    }

    public class Program
    {
    public static void Main()
    {
    Test x = new Test();

    x.five = 10;
    Console.WriteLine(x.AddFive(100));
    }
    }

    متد داخل کلاس Test به نام Addfiveدارای هدف ساده ای است و آن اضافه کردن مقدار 5 به هر عدد می باشد. در داخل متد main یک نمونه از کلاس Testایجاد کرده ایم و مقدار فیلد آن را از 5 به 10 تغییر می دهیم (در اصل نباید تغییر کند چون ما از برنامه خواسته ایم هر عدد را با 5 جمع کند ولی کاربر به راحتی آن را به 10 تغییر می دهد). همچنین متد Addfiveرا فراخوانی و مقدار 100 را به آن ارسال می کنیم. مشاهده می کنید که قابلیت متد Addfive به خوبی تغییر می کند و شما نتیجه متفاوتی مشاهده می کنید. اینجاست که اهمیت کپسوله سازی مشخص می شود. اینکه ما در فیلدها را به صورت publicتعریف کنیم و به کاربر اجازه ذهیم که در خارج از کلاس به آنها دسترسی داشته باشد کار اشتباهی است. فیلدها باید همیشه به صورت privateتعریف شوند.

    www.w3-farsi.com

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

  1. گفتگو: معتبر سازی چیست؟
    نوشته شده توسط cyberlink در بخش C#‎‎
    پاسخ: 0
    آخرین پست: چهارشنبه 27 شهریور 1392, 22:07 عصر
  2. مزیت کپسوله سازی چیه ؟
    نوشته شده توسط hosseinrasouli در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 27 دی 1391, 13:09 عصر
  3. سوال: کپسوله سازی چیست ؟!
    نوشته شده توسط مهران رسا در بخش برنامه نویسی در 6 VB
    پاسخ: 4
    آخرین پست: پنج شنبه 13 تیر 1387, 17:30 عصر
  4. کپسوله سازی
    نوشته شده توسط اوبالیت به بو در بخش تحلیل و طراحی نرم افزار
    پاسخ: 4
    آخرین پست: دوشنبه 06 اسفند 1386, 21:38 عصر

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

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