Menu
Coddy logo textTech

Alanlar ve Özellikler

Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 6 / 70.

Alanlar, doğrudan bir sınıf içinde tanımlanan değişkenlerdir. Özellikler, get ve set erişimcilerini kullanarak alanlara kontrollü erişim sağlayan üyelerdir.

Alanlar veriyi doğrudan saklar

public class Person
{
    // Alanlar - doğrudan değişken depolama
    private string name;
    private int age;
}

Özellikler, get ve set ile kontrollü erişim sağlar

public class Person
{
    private string name;
    
    // Destekleyici alanlı özellik
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
}

Otomatik uygulanan özellikler (kısa yazım)

public class Person
{
    // Otomatik uygulanan özellik
    public string Name { get; set; }
    public int Age { get; set; }
}

Özellikler doğrulama mantığı içerebilir

public class Person
{
    private int age;
    
    public int Age
    {
        get { return age; }
        set 
        { 
            if (value >= 0 && value <= 120)
                age = value;
        }
    }
}

Salt okunur özellik (yalnızca get erişimcisi)

public class Circle
{
    private double radius;
    
    public double Radius
    {
        get { return radius; }
    }
    
    // Salt okunur hesaplanmış özellik
    public double Area
    {
        get { return Math.PI * radius * radius; }
    }
}

Alanlar genellikle özeldir ve özellikler aracılığıyla erişilir. Özellikler, mantık, doğrulama ve verilere nasıl erişileceği veya verilerin nasıl değiştirileceği üzerinde denetim eklemenize olanak tanır. Ek bir mantığa ihtiyaç duymadığınızda otomatik uygulanan özellikler kullanışlıdır.

challenge icon

Görev

Orta

Alanlar ve özellikler arasındaki farkı gösteren bir BankAccount sınıfı oluştur:

  • Hesap bakiyesini depolamak için özel bir balance alanı
  • Otomatik olarak uygulanan bir AccountName özelliği
  • balance alanını döndüren salt okunur bir Balance özelliği
  • Özel alanı değiştiren Deposit ve Withdraw yöntemleri

Kendin dene

using System;

class Program
{
    static void Main()
    {
        string accountName = Console.ReadLine();
        decimal initialBalance = decimal.Parse(Console.ReadLine());
        decimal depositAmount = decimal.Parse(Console.ReadLine());
        
        BankAccount account = new BankAccount(accountName, initialBalance);
        
        Console.WriteLine($"Account: {account.AccountName}");
        Console.WriteLine($"Initial Balance: ${account.Balance}");
        
        account.Deposit(depositAmount);
        Console.WriteLine($"After Deposit: ${account.Balance}");
        
        string result = account.Withdraw(2000);
        Console.WriteLine($"Withdraw attempt: {result}");
        Console.WriteLine($"Final Balance: ${account.Balance}");
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online C# derleyicisi