TOC

This article has been localized into Georgian by the community.

კლასები:

თვისებები (Properties)

თვისებები (Properties) კლასში არსებული ცვლადების წვდომის კონტროლის საშუალებას გაძლევთ და C#-ის მსგავს ობიექტზე ორიენტირებულ პროგრამირების ენებში ცვლადებზე გარედან წვდომის რეკომენდირებულ გზად ითვლება. თვისების პირველად გამოყენების მაგალითი კლასებისთვის მიძღვნილ თავში ვნახეთ, ეს საკმაოდ მარტივი ცნებაა. თვისება (Property) ცვლადისა და მეთოდის კომბინაციას მოგვაგონებს - მას არ შეუძლია პარამეტრების მიღება, მაგრამ შეუძლია მნიშვნელობის დამუშავება სანამ ცვლადს მიენიჭება ან სანამ ეს მნიშვნელობა დაბრუნდება. თვისება (Property) ორი ნაწილისგან შედგება: ესენია get და set მეთოდები, რომლებიც თვისების (Property) შიგნით არიან მოთავსებული.

private string color;

public string Color
{
    get { return color; }
    set { color = value; }
}

get მეთოდმა უნდა დააბრუნოს ცვლადი, set მეთოდმა კი მას მნიშვნელობა უნდა მიანიჭოს. ჩვენი მაგალითი პრიმიტიულია რადგან მხოლოდ get-ი გვაქვს, მაგრამ შეგვიძლია მისი გავრცობა. კიდევ ერთი რაც თვისებების შესახებ უნდა იცოდეთ ისა რომ სავალდებულო მხოლოდ ერთი მეთოდის გაკეთებაა - get-ის ან set-ის. ეს read-only ან write-only თვისებების გაკეთების საშუალებას გაძლევთ.

public string Color
{
    get 
    {
        return color.ToUpper(); 
    }
    set 
    { 
        if(value == "Red")
            color = value; 
        else
            Console.WriteLine("This car can only be red!");
    }
}

კარგით, ჩვენ ახლახანს აღნიშნული თვისება (Property) კიდევ უფრო სრულყოფილი გავხადეთ. color ცვლადის მნიშვნელობა დაბრუნების დროს მაღალი რეგისტრის სიმბოლობით იქნება წარმოდგენილი და მხოლოდ "Red" მნიშვბელობა იქნება მისაღები. რა თქმა უნდა, ეს მაგალითი დიდად გამოსადეგი არ არის, მაგრამ კარგად ასახავს თვისებების პოტენციალს.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!