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

نام تاپیک: فرق در این دو نوع فراخوانی

  1. #1

    Cool فرق در این دو نوع فراخوانی

    سلام یه سوال خیلی ساده چه تفاوتی بین فراخوانی یک تابع هست (در هر دو) که اینجوریه
    اولی
    sum(3,2)

    و فراخوانی که قبلش نمونه سازی انجام میشه هست ؟
    دومی
    program oprgram=new program();
    oprogram.sum(3,2);

    و اینم میدونم که برای استاتیک کردن تابع استاتیک لااقل باید

    oprogram.sum(3,2);

    اینجوری نوشت
    ممنون
    آخرین ویرایش به وسیله dr.undead : دوشنبه 27 مرداد 1393 در 19:55 عصر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: فرق در این دو نوع فراخوانی

    وقتی شما در یک کلاس، یک متد رو به صورت:
    SampleMethod(sampleParameter)

    فراخوانی میکنید، این کد معادل:
    this.SampleMethod(sampleParameter)

    هست به این معنی که متد SampleMethod از "شی جاری" اجرا میشه.البته در صورتی که کلاس شی جاری این متد رو داشته باشه.
    این همون فراخوانی اولی هست که انجام دادین.

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

    SampleClass obj = new SampleClass();
    obj.SampleMethod(sampleParameter);

    در این حالت شما یک شی جدید از کلاس SampleClass میسازید و متد SampleMethod اون شی رو فراخوانی میکنید.

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

  3. #3

    نقل قول: فرق در این دو نوع فراخوانی

    یه چیزایی فهمیدم :دی
    یعنی بستگی به نوع تابع داره که public یا static داره
    static رو میشه به همین حالت
    this.sum(11,11) 

    که معادل
    sum(11,11)

    هست میشه فراخوانی کرد
    اما برای public باید حتما نمونه سازی کرد
    درسته فهمیدم آیا ؟

  4. #4
    کاربر دائمی
    تاریخ عضویت
    دی 1383
    محل زندگی
    اصفهان
    پست
    1,436

    نقل قول: فرق در این دو نوع فراخوانی

    نه. در متد static و برای فراخوانی متد Static اصلا از this نمیشه استفاده کرد چون متد Static مربوط به شی خاصی نیست.
    در متد static فقط میشه متدهای static دیگه رو فراخوانی کرد.
    در متد غیر static هم میشه متد static رو به صورت ClassName.MethodName و هم متد غیر static رو فراخوانی کرد.
    public/private/protected/internal هم access modifier هستن و ربطی به static بودن یا نبودن متد ندارن.یکی کتاب #C رو مطالعه کنید.

  5. #5

    نقل قول: فرق در این دو نوع فراخوانی

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

    موفق باشید.

  6. #6

    نقل قول: فرق در این دو نوع فراخوانی

    من شنیدم کتاب آقای هاشمی خوبه
    هر جا دنبالش بودم ورژن 2005 C#‎ بود فک کنم .
    یک کتاب خوب پیرامون مباحث C#‎.net و asp.net بتونید معرفی کنید ممنون میشم

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    پونک
    سن
    42
    پست
    490

    نقل قول: فرق در این دو نوع فراخوانی

    کتاب دایتل خوبه، ولی بهترین کتاب، کتاب جوزف البهاری هست : http://www.albahari.com

    کتابهای فارسی زیاد بدرد نمیخورن، من خودم ۲۰۰۸ خواستم کتاب هاشمی رو بخونم دیدم بر خلاف کتابهای درست و حسابی به جای اینکه از مفاهیم پایه ای(مثل مفاهیم Type و انواع حافظه و ...) مستقیم رفته سراغ WinForms و چند تا مثال MessageBox زده و با زدن دکمه کادر پیغام نمایش میداد و فکر میکردم برنامه نوشتم!

    با دایتل شروع کن، بعد C#‎‎‎ 5.0 in a Nutshell آقای البهاری رو بخون و بعد کتاب بسیار مفهومی و در عین حال بسیار پیچیده #CLR via C آقای جفری ریشتر رو بخون(البته خیلی زمان بره این کتاب)

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

  1. فرق این دو نوع کانکشن استرینگ
    نوشته شده توسط zidanerfan در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 18 اردیبهشت 1393, 09:57 صبح
  2. فرق این دو نوع تعریف تابع چیست؟
    نوشته شده توسط h00manb در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 1
    آخرین پست: سه شنبه 13 تیر 1391, 20:36 عصر
  3. به نظر شما این چه نوع بانک اطلاعاتی است؟
    نوشته شده توسط ساران سافت در بخش VB.NET
    پاسخ: 4
    آخرین پست: شنبه 10 بهمن 1383, 22:32 عصر
  4. به نظر شما این چه نوع بانک اطلاعاتی است؟
    نوشته شده توسط ساران سافت در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 6
    آخرین پست: چهارشنبه 30 دی 1383, 11:13 صبح
  5. چرا این همه نوع Linux وجود دارد.؟!!!
    نوشته شده توسط Best Programmer در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 0
    آخرین پست: چهارشنبه 08 بهمن 1382, 06:29 صبح

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

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