PDA

View Full Version : سوال: نوع داده خصوصی



irpersian20
چهارشنبه 26 تیر 1392, 09:38 صبح
سلام
یک کتاب دارم 3 صفحه در مورد private کردن داده ها توضیح داده.
بعد هم گفته بهتره از متد یا خاصیت (صفت-property) استفاده نیم برای دسترسی به داده های خصوصی.
امنیت بالاتر میره
اما من نفهمیدم . هنگامی که client میتونه set و get کنه با خاصیت. حالا متغیر اگر پابلیک بزاری دیگه فرق نداره
فقط غیرمتسقیم داریم دستکاری میکنیم.اما در نهایت متغیر خصوصی داریسم دستکاری می کنیم به راحتی. این کجاش امنیته

fool66
چهارشنبه 26 تیر 1392, 10:43 صبح
خب با set و get از مقادیر غیر قابل قبول جلوگیری کرد همین یعنی امنیت در داده ها ورودی

irpersian20
چهارشنبه 26 تیر 1392, 15:39 عصر
خب با set و get از مقادیر غیر قابل قبول جلوگیری کرد همین یعنی امنیت در داده ها ورودی
سلام
خوب با 2 تایع یکی set get هم میشه اینکار کرد

irpersian20
چهارشنبه 26 تیر 1392, 23:12 عصر
با تابع راحت میشه این 2 تا رو کنترل گذاشت روش. اگر بحث کنترل رو برداریم با این حساب دیگر خاصیت ها خاصیت ی ندارند!

fool66
چهارشنبه 26 تیر 1392, 23:31 عصر
الان دقیقا مشکلت کجاست؟؟؟؟؟میشه دقیق و واضح بگی

irpersian20
پنج شنبه 27 تیر 1392, 00:13 صبح
سلام
به جز کنترل داده ها خاصیت چه کاربرد دیگری دارد؟
فرق این
public string courseName;
با این
public string courseName
}
get;
set;
{

esafb52
پنج شنبه 27 تیر 1392, 00:58 صبح
پراپرتی کاربردی هایی دیگه هم داره مثلا اگه قرار باشه یه فیلد محاسبه روش انجام بشه و بعد مقدار دهی بشه بعضی مواقع نیاز کابر فقط بتونه مقدار یه فیلد رو بخونه نه اینکه تغییر بده و......سرچ کنی زودتر به نتیجه بشتر میرسی ضمنا یکی از اصول شی گرایی کپسوله سازیه که برای فیلد از طریق پراپرتی انجام میشه

wolf_majid
پنج شنبه 27 تیر 1392, 09:33 صبح
public class test
{
private string myVar;

//یک متد عمومی و یک متد خصوصی
public string var1 { private set; get; }
//دو متد
public string var2 { set; get; }
//تقریبا" مثل پروپرتی اول میمونه
public string var3 {
get { return myVar; }
}
//یک متد و یک متغیر
public string var4 {
set { myVar = value; }
}
//اما در کل زمانی از پروپرتی استفاده میشه که
//رفتارش شبیه یک متغیر باشه نه متد
}