Menu
CoddyTech

Inisialisasi object

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C# di Coddy. Pelajaran 8 dari 70.

Inisialisator object menyediakan cara yang praktis untuk menetapkan nilai property saat membuat object, tanpa memanggil constructor dengan banyak parameter.

Cara tradisional menggunakan konstruktor

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";

Menggunakan sintaks penginisialisasi object

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

Inisialisasi object dengan konstruktor

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

// Konstruktor mengatur Name, inisialisator mengatur property lainnya
Person person = new Person("Bob")
{
    Age = 30,
    City = "London"
};

Inisialisasi object bersarang

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"
    }
};

Membuat beberapa object dengan initializer

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

Inisialisator object membuat kode lebih rapi dan mudah dibaca. Property diatur setelah constructor dijalankan. Kamu bisa menggunakan inisialisator dengan atau tanpa parameter constructor, sehingga pembuatan object menjadi fleksibel dan ringkas.

challenge icon

Tantangan

Sedang

Buat tiga object Student menggunakan pendekatan object initializer yang berbeda:

  • student1: Gunakan constructor default dengan object initializer untuk menetapkan semua property (Name, StudentId, Major, GPA) dari input
  • student2: Gunakan object initializer untuk menetapkan hanya Name = "Bob" dan Major = "Engineering"
  • student3: Gunakan constructor dengan "Charlie" sebagai parameter, lalu gunakan object initializer untuk menetapkan StudentId = 54321, Major = "Mathematics", GPA = 3.5

Coba sendiri

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: Buat student1 menggunakan inisialisasi object dengan semua property
        // Gunakan konstruktor default dan isi Name, StudentId, Major, serta GPA
        
        // TODO: Buat student2 menggunakan inisialisasi object hanya dengan Name dan Major
        // Isi Name dengan "Bob" dan Major dengan "Engineering"
        
        // TODO: Buat student3 menggunakan konstruktor dengan parameter nama "Charlie"
        // Lalu gunakan inisialisasi object untuk mengisi StudentId = 54321, Major = "Mathematics", GPA = 3.5
        
        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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C# online