25-mavzu:Xossalardan foydalanish. Berilganlar uchun get va set bloklarini aniqlash.
C # da, Xususiyat sinf o'zgaruvchisining kengaytmasi. Bu bizning ilovalarimizga kirishning tashqi uslubiga ta'sir qilmasdan sinf o'zgaruvchisining qiymatini o'qish, yozish yoki o'zgartirish mexanizmini taqdim etadi.
C # -da xususiyatlar bir yoki ikkita kod bloklarini o'z ichiga olishi mumkin, ular getaktor va set accessor deb nomlanadi. Get va set accessors-dan foydalangan holda biz sinf o'zgaruvchilarining ichki bajarilishini o'zgartira olamiz va uni bizning talablarimiz asosida kirishning tashqi uslubiga ta'sir qilmasdan ochib beramiz. Odatda, c # kabi ob'ektga yo'naltirilgan dasturlash tillarida siz maydonlarni xususiy deb belgilashingiz, so'ngra get va set accessors yordamida ularning qiymatlariga jamoat usulida kirish uchun xususiyatlardan foydalanishingiz kerak. C # dasturlash tilida get va set accessor yordamida xususiyatni aniqlash sintaksisini quyida keltirilgan
{
get
{
// return property value
}
set
{
// set a new value
}
}
Agar siz yuqoridagi sintaksisga rioya qilsangiz, biz xususiyatni aniqlash uchun kirish modifikatori va qaytish turini qo'lladik, shuningdek, bizning talablarimiz asosida sinf o'zgaruvchilariga kerakli o'zgartirishlarni kiritish uchun getor va o'rnatuvchilarni o'rnatdik. Bu erda get accessor kod bloki xossani o'qigan har doim bajariladi va o'rnatilgan yangi accessorning kod bloki xususiyat yangi qiymatga tayinlanganda bajariladi. C # -da xususiyatlar uch turga bo'linadi, ular.
Tavsif turi O'qish-yozish, ikkala olish va o'rnatish kiruvchilarni o'z ichiga olgan xususiyat, keyin biz uni o'qish-yozish xususiyati deb ataymiz.
Faqat o'qish uchun faqat kirish huquqiga ega bo'lgan xususiyat, keyin biz uni faqat o'qish uchun xususiyat deb ataymiz.
Faqat yozish uchun faqat o'rnatilgan ruxsat beruvchi xususiyat, keyin biz uni faqat yozish uchun xususiyat deb ataymiz.
C # -da Xususiyatlar biron bir parametrni qabul qilmaydi va biz o'z dasturimizda xususiyatni ref yoki out parametri sifatida o'tkazmasligimiz kerak.
Quyida xususiy o'zgaruvchini va xususiyatni c # dasturlash tilida belgilashning oddiy misoli keltirilgan.
class User
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}
using System;
namespace Tutlane
{
class User
{
private string location;
private string name = "Suresh Dasari";
public string Location
{
get { return location; }
set { location = value; }
}
public string Name
{
get
{
return name.ToUpper();
}
set
{
if (value == "Suresh")
name = value;
}
}
}
class Program
{
static void Main(string[] args)
{
User u = new User();
// set accessor will invoke
u.Name = "Rohini";
// set accessor will invoke
u.Location = "Hyderabad";
// get accessor will invoke
Console.WriteLine("Name: " + u.Name);
// get accessor will invoke
Console.WriteLine("Location: " + u.Location);
Console.WriteLine("\nPress Enter Key to Exit..");
Console.ReadLine();
}
}
}
Do'stlaringiz bilan baham: |