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

نام تاپیک: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

  1. #1

    درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

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

  2. #2

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

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

  3. #3

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

    من کار با بانک اطلاعات،اسمبلی،linq،wpf و... اینجور چیزهارو بلد نیستم. ولی کتاب هاشمیان رو تا فصل یازده و کتاب معمای شی گرایی در C#‎ رو خوندم. توی این کتاب ها مثلا انواع کلاس ها رو توضیح داده و یه مثال خیلی راحت در مورد اون کلاس زده. حالا من یه سری تمرین کاربردی میخوام تا این مفاهیم رو خوب متوجه بشم. تمرین هایی هم که کارکردم تقریبا همونایی که توی این کتاب هاست.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    انتخاب موضوع

    عرض سلام و ادب خدمت اساتید
    نیاز به کار برای پروژه ای هستم که به طور جامع مفاهیم شی گرایی را در بر بگیرد، بیشتر مفاهیم شی گرایی مهمه تا کار با بانک های اطلاعاتی، میشه موضوعاتی در این زمینه رو مثال بزنین که بتونم خوب در زمان دو یا سه هفته روش کار کنم؟
    باسپاس

  5. #5

    نقل قول: انتخاب موضوع

    سلام
    به نظر من اگه بری و با کلاس ها کار کنی خیلی بهتر میشه برات
    با سپاس Spaceman

  6. #6
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: انتخاب موضوع

    با کلاس ها ؟

  7. #7

    نقل قول: انتخاب موضوع

    بله
    کمک زیادی بهت میکنه
    با سپاس Spaceman

  8. #8
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: انتخاب موضوع

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

  9. #9

    نقل قول: انتخاب موضوع

    به نظر من بهترین گزینه میتونه سیستم ثبت نام و انتخاب واحد دانشگاه باشه هم ساده است هم کاربردی تر

  10. #10
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: انتخاب موضوع

    نظرتون در مورد سیستم کتابخانه چیه؟

  11. #11

    پروژه برای یادگیری oop

    سلام

    دوستان من میخوام در زمینه object oriented programming خودم رو قوی کنم من در این زمینه مبتدی هستم

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

    با تشکر

  12. #12
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: پروژه برای یادگیری oop ?


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

    نقل قول: انتخاب موضوع

    نقل قول نوشته شده توسط deldadeh108 مشاهده تاپیک
    شما هر موضوعی که انتخاب کنی میتونی از مفاهیم شی گرایی استفاده کنی. تو این کلاس میتونی چند متد با اسم یکسان و پارامترهای متفاوت داشته باشی که میشه همون پلی مورفیسم.
    اين مفهوم پلی مورفیسمه؟! این که شما نوشتین Method Overloading هست نه Polymorphism.

    Polymorphism به نقل از کتاب جوزف البهاری:


    public class Asset
    {
    public string Name;
    }



    public class Stock : Asset // inherits from Asset
    {
    public long SharesOwned;

    }



    public class House : Asset // inherits from Asset
    {
    public decimal Mortgage;
    }



    References are polymorphic. This means a variable of type x can refer to an object
    that subclasses x. For instance, consider the following method:


    public static void Display (Asset asset)
    {
    System.Console.WriteLine (asset.Name);
    }


    This method can display both a Stock and a House, since they are both Assets:



    Stock msft = new Stock ... ;
    House mansion = new House ... ;
    Display (msft);
    Display (mansion);



    Polymorphism works on the basis that subclasses (Stock and House) have all the
    features of their base class (Asset). The converse, however, is not true. If Display
    was modified to accept a House, you could not pass in an Asset:

    static void Main() { Display (new Asset()); } // Compile-time error
    public static void Display (House house) // Will not accept Asset
    static void Main() { Display (new Asset()); } // Compile-time error
    public static void Display (House house) // Will not accept Asset
    {

    {







    آخرین ویرایش به وسیله elec60 : جمعه 13 تیر 1393 در 22:57 عصر

  14. #14
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: انتخاب موضوع

    نقل قول نوشته شده توسط elec60 مشاهده تاپیک
    اين مفهوم پلی مورفیسمه؟! این که شما نوشتین Method Overloading هست نه Polymorphism.
    پلي مورفيسم دو نوع داره: پلي مورفيسم استاتيك (يا انقياد زودهنگام early binding) كه بهش Method Overloading ميگن و پلي مورفيسم دايناميك (انقياد زمان اجرا runtime binding) كه به Method Overriding معروفه.
    پلي مورفيسم استاتيك يعني در زمان كامپايل با توجه به نوع و تعداد پارامترها ميتونه تشخيص بده كه كدوم يك از متدها بايد صدا زده بشه. Operator overloading هم يه حالت خاص از اين نوع پلي مورفيسمه. نكته مهم اينه كه در اين نوع، متدهاي هم نام در يك كلاس قرار دارند.
    پلي مورفيسم دايناميك يعني در زمان اجرا مشخص ميشه كه كدوم متد (متد كلاس فرزن يا متد كلاس پايه) صدا زده بشه.نكته مهم اينه كه در اين نوع، متدهاي هم نام در دو كلاس مجزا قرار دارند.
    بازم توضيح بدم؟!

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

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

    نقل قول نوشته شده توسط deldadeh108 مشاهده تاپیک
    پلي مورفيسم دو نوع داره: پلي مورفيسم استاتيك (يا انقياد زودهنگام early binding) كه بهش Method Overloading ميگن و پلي مورفيسم دايناميك (انقياد زمان اجرا runtime binding) كه به Method Overriding معروفه.
    پلي مورفيسم استاتيك يعني در زمان كامپايل با توجه به نوع و تعداد پارامترها ميتونه تشخيص بده كه كدوم يك از متدها بايد صدا زده بشه. Operator overloading هم يه حالت خاص از اين نوع پلي مورفيسمه. نكته مهم اينه كه در اين نوع، متدهاي هم نام در يك كلاس قرار دارند.
    پلي مورفيسم دايناميك يعني در زمان اجرا مشخص ميشه كه كدوم متد (متد كلاس فرزن يا متد كلاس پايه) صدا زده بشه.نكته مهم اينه كه در اين نوع، متدهاي هم نام در دو كلاس مجزا قرار دارند.
    بازم توضيح بدم؟!
    توضيحاتتون خوب بود ولي يكم اشكال داره، تو stackoverflow.com بحث شده:
    ?Is Method Overloading considered polymorphism


    No, overloading is not. Maybe you refer to method overriding which is indeed part of polymorphism.
    To further clarify, From the wikipedia:
    Polymorphism is not the same as method overloading or method overriding.1 Polymorphism is only concerned with the application of specific implementations to an interface or a more generic base class.
    So I'd say method overriding AND method overloading and convenient features of some language regarding polymorphism but notthe main concern of polymorphism (in object oriented programming) which only regards to the capability of an object to act as if it was another object in its hierarchy chain.

    البته به نظر من مهم نيست كه حالا كدوم رو پلي مورفيسم بگيم كدم رو نگيم، مهم اينه كه مفاهيم رو كامل درك كنيم و درست بتونيم استفاده كنيم.

  16. #16
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

    نقل قول نوشته شده توسط elec60 مشاهده تاپیک
    .

    البته به نظر من مهم نيست كه حالا كدوم رو پلي مورفيسم بگيم كدم رو نگيم، مهم اينه كه مفاهيم رو كامل درك كنيم و درست بتونيم استفاده كنيم.
    درسته. تو اين مورد اختلاف نظر وجود داره. مهم همون مفهوم و كاربرده نه اسامي و دسته بندي

  17. #17
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: انتخاب موضوع

    نقل قول نوشته شده توسط deldadeh108 مشاهده تاپیک
    شما هر موضوعی که انتخاب کنی میتونی از مفاهیم شی گرایی استفاده کنی. مثلا اگه پایگاه داده داره میتونی یک کلاس مخصوص کار با پایگاه داده داشته باشی. تو این کلاس میتونی چند متد با اسم یکسان و پارامترهای متفاوت داشته باشی که میشه همون پلی مورفیسم. میتونی یک فرم کلی طراحی کنی و فرم هایی که استفاده میکنی از این فرم ارث بری کنند. یا با ارث بری از کلاس TextBox یک تکسباکس مخصوص خودت درست کنی که مثلا اگه موس واردش شد رنگش عوض شه (برای اینکار علاوه بر وراثت از یک مفهوم دیگر پلی مورفیسم هک استفاده میکنی و اون Override کردن بعض متدهای پایه هست).
    عرض سلام و ادب و احترام و سپاس بابت راهنماییتون
    میشه یه مثال از همین نوع تکس باکس بزنین؟ این کار رو برای دکمه ها اگه بخوام میشه انجام بدم؟

  18. #18
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: انتخاب موضوع

    نقل قول نوشته شده توسط ghazal_mohammady مشاهده تاپیک
    عرض سلام و ادب و احترام و سپاس بابت راهنماییتون
    میشه یه مثال از همین نوع تکس باکس بزنین؟ این کار رو برای دکمه ها اگه بخوام میشه انجام بدم؟
    خواهش مي كنم. فرقي نداره براي تمام كنترل هاي ويندوز ميشه اينكارو انجام داد.
    براي ساخت كنترل جديد در Solution Explorer روي اسم پروژه كليك راست كنيد و Add UserControl انتخاب كنيد. در حالت پيش فرض از كلاس Control ارث بري ميكنه كه ميتوني تغييرش بدي و مثلا از كلاس Button ارث بري كني. مثال زير يك دكمه هست كه زماني كه موس واردش ميشه رنگش سبز ميشه و وقتي موس خارج ميشه رنگش به حالت اول برميگرده. رنگ پس زمينه دكمه در _permanentBackColor ذخيره ميشه تا پس از خروج موس رنگ به حالت اولش برگرده. كدش فك كنم واضح باشه :

    public partial class myButton : Button
    {
    Color _permanentBackColor;

    public myButton()
    {

    InitializeComponent();
    _permanentBackColor = this.BackColor;
    }


    protected override void OnMouseEnter(EventArgs e)
    {
    _permanentBackColor = this.BackColor;
    this.BackColor = Color.Green;
    base.OnMouseEnter(e);
    }
    protected override void OnMouseLeave(EventArgs e)
    {
    this.BackColor = _permanentBackColor;
    base.OnMouseLeave(e);
    }
    protected override void OnPaint(PaintEventArgs pe)
    {
    base.OnPaint(pe);
    }
    }

    پ.ن: كلمه كليدي base براي اشاره به كلاس پايه (كلاس پدر) استفاده مي شود. Override هم يعني اين متد در كلاس پايه وجود داره و در كلاس فرزند دوباره پياده سازي ميشه. با تايپ public override ليست propertyها و متدهاي كلاس پايه نشون داده ميشه.

  19. #19
    کاربر دائمی
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    پست
    160

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

    سپاس
    اونوقت چطور میشه از این یوزر کنترل روی فرم استفاده کرد؟

  20. #20
    کاربر دائمی آواتار Davidd
    تاریخ عضویت
    آذر 1392
    محل زندگی
    تهران
    پست
    391

    نقل قول: درخواست تمرین جهت تفهیم شی گرایی در سی شارپ

    نقل قول نوشته شده توسط ghazal_mohammady مشاهده تاپیک
    سپاس
    اونوقت چطور میشه از این یوزر کنترل روی فرم استفاده کرد؟
    يه بار كه پروژه build بشه كنترل جديد به toolbox اضافه ميشه.

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

  1. درخواست راهنمایی جهت بهترین روش ذخیره اطلاعات
    نوشته شده توسط rezamim در بخش Foxpro
    پاسخ: 10
    آخرین پست: یک شنبه 01 مهر 1386, 17:43 عصر
  2. درخواست تمرین
    نوشته شده توسط american_iran2006 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 19
    آخرین پست: شنبه 07 بهمن 1385, 22:08 عصر
  3. درخواست کامپوننت جهت ارسال فکس و ایمیل
    نوشته شده توسط Sabeghi در بخش کامپوننت های سایر شرکت ها، و توسعه کامپوننت
    پاسخ: 3
    آخرین پست: یک شنبه 16 مهر 1385, 08:17 صبح

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

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