Menu
CoddyTech

Nesne Başlatıcılar

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

Nesne başlatıcıları, çok sayıda parametre içeren bir oluşturucu çağırmadan nesne oluştururken özellik değerlerini ayarlamak için kullanışlı bir yol sağlar.

Constructor kullanan geleneksel yöntem

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
}

Person person = new Person();
person.Name = "Alice";
person.Age = 25;
person.City = "New York";

Nesne başlatıcı söz dizimini kullanma

Person person = new Person
{
    Name = "Alice",
    Age = 25,
    City = "New York"
};

Kurucularla nesne başlatıcıları

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string City { get; set; }
    
    public Person(string name)
    {
        Name = name;
    }
}

// Constructor, Name özelliğini ayarlar; başlatıcı diğer özellikleri ayarlar
Person person = new Person("Bob")
{
    Age = 30,
    City = "London"
};

İç içe nesne başlatıcıları

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
}

public class Person
{
    public string Name { get; set; }
    public Address Address { get; set; }
}

Person person = new Person
{
    Name = "Charlie",
    Address = new Address
    {
        Street = "123 Main St",
        City = "Boston"
    }
};

Başlatıcılarla birden çok nesne oluşturma

Person person1 = new Person { Name = "Alice", Age = 25 };
Person person2 = new Person { Name = "Bob", Age = 30 };
Person person3 = new Person { Name = "Charlie", Age = 35 };

Nesne başlatıcıları kodu daha temiz ve okunabilir hâle getirir. Özellikler, oluşturucu çalıştıktan sonra ayarlanır. Başlatıcıları oluşturucu parametreleriyle veya bunlar olmadan kullanabilir, böylece nesne oluşturmayı esnek ve özlü hâle getirebilirsiniz.

challenge icon

Görev

Orta

Farklı nesne başlatıcı yaklaşımlarını kullanarak üç Student nesnesi oluştur:

  • student1: Tüm özellikleri (Name, StudentId, Major, GPA) girdiden ayarlamak için varsayılan oluşturucuyu nesne başlatıcıyla kullan
  • student2: Yalnızca Name = "Bob" ve Major = "Engineering" değerlerini ayarlamak için nesne başlatıcı kullan
  • student3: Parametre olarak "Charlie" ile oluşturucuyu kullan, ardından StudentId = 54321, Major = "Mathematics", GPA = 3.5 değerlerini ayarlamak için nesne başlatıcı kullan

Kendin dene

using System;

class Program
{
    static void Main()
    {
        string name = Console.ReadLine();
        int studentId = int.Parse(Console.ReadLine());
        string major = Console.ReadLine();
        double gpa = double.Parse(Console.ReadLine());
        
        // TODO: student1 nesnesini tüm özellikleri içeren bir nesne başlatıcısıyla oluşturun
        // Varsayılan kurucuyu kullanarak Name, StudentId, Major ve GPA özelliklerini ayarlayın
        
        // TODO: student2 nesnesini yalnızca Name ve Major özelliklerini içeren bir nesne başlatıcısıyla oluşturun
        // Name "Bob", Major ise "Engineering" olmalı
        
        // TODO: student3 nesnesini name parametresi "Charlie" olan kurucuyla oluşturun
        // Ardından StudentId = 54321, Major = "Mathematics" ve GPA = 3.5 değerlerini ayarlamak için bir nesne başlatıcısı kullanın
        
        Console.WriteLine($"Student 1: {student1.Name} (ID: {student1.StudentId}) - {student1.Major}, GPA: {student1.GPA}");
        Console.WriteLine($"Student 2: {student2.Name} (ID: {student2.StudentId}) - {student2.Major}, GPA: {student2.GPA}");
        Console.WriteLine($"Student 3: {student3.Name} (ID: {student3.StudentId}) - {student3.Major}, GPA: {student3.GPA}");
    }
}
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