Property yang Diimplementasikan Otomatis
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C# di Coddy. Pelajaran 10 dari 70.
Property yang diimplementasikan otomatis memungkinkan kamu mendeklarasikan property tanpa menulis field pendukung secara eksplisit. Compiler secara otomatis membuat field privat tersembunyi di balik layar.
Daripada menulis kode yang panjang ini:
public class Product
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
}Kamu cukup menulis:
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
}Kamu juga bisa menetapkan nilai default langsung dalam deklarasi:
public class Product
{
public string Name { get; set; } = "Unnamed";
public decimal Price { get; set; } = 0.0m;
public bool IsAvailable { get; set; } = true;
}Property yang diimplementasikan secara otomatis sangat cocok saat kamu tidak memerlukan validasi atau logika khusus di getter atau setter. Property ini membuat class-mu tetap rapi dan mengurangi kode boilerplate secara signifikan.
Tantangan
MudahMari kita buat sistem inventaris sederhana menggunakan property yang diimplementasikan otomatis untuk melacak barang di toko.
Kamu akan membuat dua file untuk mengatur kodemu:
Item.cs: Definisikan classItemdi namespaceInventorydengan property yang diimplementasikan otomatis untukName(string),Price(decimal), danInStock(bool). Tetapkan nilai default:Nameharus memiliki nilai default"Unknown",Price0.0m, danInStocktrue.Program.cs: Di file utamamu, buat dua objectItemmenggunakan object initializer. Baca nama dan harga setiap barang dari input, lalu cetak detail setiap barang.
Kamu akan menerima empat input:
- Nama barang pertama
- Harga barang pertama
- Nama barang kedua
- Harga barang kedua
Cetak setiap barang dengan format berikut:
Item: {Name}, Price: {Price}, In Stock: {InStock}Misalnya, jika inputnya adalah Laptop, 999.99, Mouse, dan 25.50, outputnya harus seperti ini:
Item: Laptop, Price: 999.99, In Stock: True
Item: Mouse, Price: 25.50, In Stock: TrueCoba sendiri
using System;
using Inventory;
class Program
{
public static void Main(string[] args)
{
// Baca input untuk item pertama
string name1 = Console.ReadLine();
decimal price1 = Convert.ToDecimal(Console.ReadLine());
// Baca input untuk item kedua
string name2 = Console.ReadLine();
decimal price2 = Convert.ToDecimal(Console.ReadLine());
// TODO: Buat dua object Item menggunakan object initializer
// Isi property Name dan Price dari nilai input
// TODO: Tampilkan detail setiap item dengan format:
// Item: {Name}, Price: {Price}, In Stock: {InStock}
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalNamespace & DirektifPengantar class & objectKata Kunci 'this'Method dan ParameterField vs PropertyKonstruktorInisialisasi objectRingkasan: Kalkulator Sederhana4Pewarisan
Sintaks Dasar Pewarisan (:)Kata Kunci 'base'Kata Kunci Virtual & OverrideClass SealedBase Class 'object'Rangkuman: Hierarki Karyawan7Fitur Lanjutan
Overloading OperatorIndexer (this[])Penimpaan ToString()Extension methodRingkasan: Custom list2Property & Anggota Statis
Property yang Diimplementasikan OtomatisProperty Hanya Baca dan Hanya TulisField dan method StatisClass StatisAnggota Berbentuk Ekspresi5Polimorfisme & Antarmuka
Polimorfisme saat kompilasi vs runtimeAntarmuka vs kelas abstrakBeberapa antarmukaAntarmuka eksplisitUpcasting & DowncastingRingkasan, Kalkulator Bentuk8Konsep OOP Lanjutan
Komposisi daripada PewarisanGenerics (class dan method)Delegate dan EventAtribut dan ReflectionIDisposable dan Pernyataan usingDasar-Dasar Dependency Injection11Pola Desain Bagian 2
Pola PerintahPola AdapterPola DecoratorPola Template MethodPola StatePola CompositeLatihan sendiri: Compiler C# online