تغییر ایجاد کن

طبقه بندی موضوعی
جمعه, ۱۶ تیر ۱۳۹۶، ۱۰:۴۳ ق.ظ

فیلد و پراپرتی در سی شارپ چیست؟


در این پست میخواهیم در رابطه با فیلد و پراپرتی در سی شارپ صحبت کنیم

هر کلاسی 4 عضو دارد: فیلد(field) ، پراپرتی(property)، متد (method) و ایونت (event).

فیلد: متغیری که  در کلاس تعریف می شود فیلد نام دارد. بهتره فیلد از نوع private  باشد.

private string _name;

Private string _family;

 

پراپرتی: بهتر است فیلد ها private  باشند. پس چگونه  به مقادیر آن دست یابیم؟ از طریق پراپرتی.

public string Name { set { return _name; } get { _name=value; } }

Public string Family { set { return _family; } get { _family = value; } }

 

 

دقیقا کار این پراپرتی ها چیست؟ مثلا فردی میخواهد مقدار _name را بداند اما این فیلد private است و دسترسی به آن ممکن نیست . پراپرتی  از طریق  کلمه ی کلیدی set  که خودش شامل یک بدنه می شود، مقدار فیلد متناظرش یعنی _name  را بر می گرداند. بدنه ی get مقدارجدیدی را به فیلد متناظر  نسبت میدهد.

می توان پراپرتی داشت که فقط شامل get{} که read only نامیده می شود ویا فقط شامل set{}  که write only نامیده می شود، باشد.

نمونه ای از پراپرتی read only:

public string ShowInfo { get {return string.Format("{0}{1}",this._name,this._family) } }

 

منظور از this کلاس جاری می باشد. اگر ماوس خود را روی کلمه this نگه دارید خودتان متوجه می شوید.

موافقین ۰ مخالفین ۰ ۹۶/۰۴/۱۶

نظرات  (۲)

تشکر که وقت گذاشتی

ممنون ، مفید بود

اما get مقدار فیلد رو برمیگردونه و set مقدار جدیدی برای فیلد قرار میده

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی