PDA

View Full Version : مبتدی: set و get چی هستند ؟



phpphp7
چهارشنبه 24 شهریور 1395, 11:46 صبح
سلام دوستان

http://up.vbiran.ir/uploads/11174147384041339082_setget.png

میخواستم بدونم ، آیا set و get نقش پایگاه داده رو ایفا می کنند ؟

الان دارم آموزش میبینم ،طرف پایگاه داده ایجاد نکرده اما مقادیر رو داره ثبت ، حذف و ... میکنه

sds1920
چهارشنبه 24 شهریور 1395, 15:50 عصر
set و get دو تا از متدهایی هستند که برای تعریف Property ها مورد استفاده قرار میگیره.
اگر هم set وجود داشته باشه و هم get یعنی Property خواندنی/نوشتنی است.
اگر فقط get وجود داشته باشه یعنی Property فقط خواندنی است.
اگر فقط set وجود داشته باشه یعنی Property فقط نوشتنی است.

معمولا Property ها به این صورت تعریف میشوند:

int _myProperty=0;
public int MyProperty
{
get{return _myProperty;}
set{_mayProperty=value;}
}


به این روش Property تعریف کردن هیچ مشکلی نداره ولی همونطور که میبینید خیلی زمانبر هست و کدها رو زیاد میکنه
برای خلاصه نویسی به شکل زیر تعریف میشه

public int MyProperty{get;set;}



فقط بهتره در صورتی از روش اول استفاده کنید که بخواهید داخل متدهای get و set عملیات خاصی رو روی داده ها انجام بدید.

mrprestige
چهارشنبه 24 شهریور 1395, 18:40 عصر
سلام وقت بخیر دوست من ، در تایید و تکمیل فرمایشات دوستمون باید این رو عرض کنم که Property درواقع به عنوان یه استاندارد در سی شارپ برای دسترسی به فیلدها با سطح دسترسی private در داخل یک کلاس تعریف میشه
بزار یه مثال بزنم برات : به این کلاس ی که برات گذاشتم دقت کن

public class Person
{
private string name;
private int age;
private double height;

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


public int Age
{
get
{
return age;
}
set
{
age = value;
}
}


public double Height
{
get
{
return height;
}
set
{
height = value;
}
}


public Person(string name, int age, double height)
{
this.name = name;
this.age = age;
this.height = height;
}

حالا داخل متد Main اینو بنویس

public class Program
{
public static void Main()
{
Person person1 = new Person("Jack", 21, 160);
Person person2 = new Person("Mike", 23, 158);
}
}


حالا چیزی که در خروجی بهمون میده میشه این

Name: Jack
Age: 21 years old
Height: 160cm


Name: Mike
Age: 23 years old
Height: 158cm


امیدوارم مطالب براتون قابل فهم بوده باشه

ali_md110
چهارشنبه 24 شهریور 1395, 20:33 عصر
پراپرتی معادل فیلدهای بانک اطلاعاتی هستند که توسط فریممورکهایی مثل entity framework به دیتابیس نگاشت شده و جدولی حاوی فیلد هایی که توی کلاس تعریف کردید میسازه
ولی شما میتونید بدون اینکه پایگاه داده واقعی و خارجی مثل اسکیول سرور داشته باشید کلاسهای خودتون رو میسازید و درون رم مقدار دهی میکنید و مقدار درونش میریزید و ویرایش میکنید و در نهایت میتونید اونو انتقال بدید به دیتابیس

phpphp7
پنج شنبه 04 آذر 1395, 12:48 عصر
پراپرتی معادل فیلدهای بانک اطلاعاتی هستند که توسط فریممورکهایی مثل entity framework به دیتابیس نگاشت شده و جدولی حاوی فیلد هایی که توی کلاس تعریف کردید میسازه
ولی شما میتونید بدون اینکه پایگاه داده واقعی و خارجی مثل اسکیول سرور داشته باشید کلاسهای خودتون رو میسازید و درون رم مقدار دهی میکنید و مقدار درونش میریزید و ویرایش میکنید و در نهایت میتونید اونو انتقال بدید به دیتابیس

سلام
ممنون از همه دوستان

چطوری میشه انتقالش داد به دیتابیس ؟ آخه با بستن برنامه ، همه داده هایی که در property ها ذخیره شدن، از بین میرن

به این روش ، Code First میگن ؟