Menggabungkan dengan Properti dan Tipe Dasar
Teruskan parameter ke tipe dasar dan properti.
Menggabungkan dengan Properti dan Tipe Dasar adalah pelajaran C# Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C# Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C# Academy mencakup 4 pelajaran total.
Menggabungkan Konstruktor Utama dengan Pewarisan
Kelas turunan dengan konstruktor utama dapat meneruskan parameternya ke kelas dasar menggunakan sintaks : Base(args) pada bagian deklarasi.
using System;
class Animal(string name) {
public string Name => name;
}
class Dog(string name) : Animal(name) {
public string Speak() => Name + " says Woof";
}
Console.WriteLine(new Dog("Rex").Speak()); // Rex says WoofMeneruskan Sebagian Parameter
Kelas turunan dapat menerima lebih banyak parameter daripada kelas dasar dan hanya meneruskan parameter yang relevan ke atas.
using System;
class Shape(string color) {
public string Color => color;
}
class Box(string color, int size) : Shape(color) {
public int Size => size;
}
var b = new Box("red", 5);
Console.WriteLine(b.Color + " " + b.Size); // red 5Mengubah Argumen untuk Base
Anda dapat menghitung argumen konstruktor dasar dari parameter turunan secara langsung pada bagian deklarasi.
using System;
class Label(string text) {
public string Text => text;
}
class UpperLabel(string text) : Label(text.ToUpper()) {
}
Console.WriteLine(new UpperLabel("hi").Text); // HIMenambahkan Properti di Sampingnya
Konstruktor utama dan properti eksplisit dapat digunakan bersama. Inisialisasikan properti dari parameter saat deklarasi.
using System;
class Product(string name, decimal price) {
public string Name { get; } = name;
public decimal Price { get; set; } = price;
}
var p = new Product("Book", 12m);
p.Price = 10m;
Console.WriteLine(p.Name + " " + p.Price); // Book 10Parameter Base dan Penggunaan oleh Turunan
Bahkan setelah diteruskan ke Base, parameter konstruktor utama turunan tetap dapat digunakan dalam isi kelas turunan.
using System;
class Base(int id) {
public int Id => id;
}
class Item(int id, string label) : Base(id) {
public string Describe() => "#" + id + ": " + label;
}
Console.WriteLine(new Item(7, "Widget").Describe()); // #7: WidgetRekaman dan Konstruktor Utama
Rekaman menggunakan konstruktor utama untuk membuat properti publik yang hanya dapat diinisialisasi secara otomatis. Rekaman posisional adalah bentuk yang paling ringkas.
using System;
record Person(string First, string Last) {
public string Full => First + " " + Last;
}
Console.WriteLine(new Person("Ada", "Lovelace").Full); // Ada LovelacePewarisan Rekaman
Rekaman turunan meneruskan parameter ke rekaman dasar secara posisional dan menghasilkan kumpulan properti gabungan.
using System;
record Vehicle(string Make);
record Car(string Make, int Doors) : Vehicle(Make);
var c = new Car("Toyota", 4);
Console.WriteLine(c.Make + " " + c.Doors); // Toyota 4Validasi Sebelum Pemanggilan Base
Jika Anda memerlukan validasi, lakukan dalam penginisialisasi properti menggunakan ekspresi untuk melempar galat; pemanggilan dasar tetap dijalankan terlebih dahulu.
using System;
class Base(string tag) { public string Tag => tag; }
class Node(string tag) : Base(tag) {
public string Tag2 { get; } =
tag.Length > 0 ? tag : throw new ArgumentException("empty");
}
Console.WriteLine(new Node("a").Tag); // aMencampurkan Parameter yang Ditangkap dan Properti
Anda dapat menyimpan sebagian parameter sebagai keadaan privat yang ditangkap dan menampilkan parameter lainnya sebagai properti, sesuai dengan antarmuka publik yang diinginkan.
using System;
class Order(int id, decimal total) {
public decimal Total { get; } = total; // public
public string Reference() => "ORD-" + id; // id stays private
}
var o = new Order(42, 99m);
Console.WriteLine(o.Reference() + " " + o.Total); // ORD-42 99Nilai Bawaan Properti
Properti yang tidak terkait dengan parameter tetap dapat memiliki penginisialisasi bawaan, dan dapat digunakan bersama parameter konstruktor utama tanpa batasan.
using System;
class Session(string user) {
public string User { get; } = user;
public bool Active { get; set; } = true;
}
var s = new Session("kai");
Console.WriteLine(s.User + " " + s.Active); // kai TrueMenerapkan Semuanya
Kelas turunan yang meneruskan parameter ke kelas dasar, menambahkan properti, dan menampilkan anggota terhitung.
using System;
class Employee(string name) {
public string Name => name;
}
class Manager(string name, int teamSize) : Employee(name) {
public int TeamSize { get; } = teamSize;
public string Title => Name + " (manages " + TeamSize + ")";
}
Console.WriteLine(new Manager("Sam", 5).Title); // Sam (manages 5)Pemeriksaan Singkat
Pastikan Anda memahami cara konstruktor utama meneruskan parameter ke kelas dasar.
Ringkasan
Anda telah mempelajari cara menggabungkan konstruktor utama dengan properti dan kelas dasar.
class D(...) : Base(args)meneruskan parameter ke Base.- Argumen untuk Base dapat dihitung secara langsung.
- Properti dapat diinisialisasi dari parameter saat deklarasi.
- Rekaman membuat properti publik yang hanya dapat diinisialisasi dari parameter posisional.
Belajar C# dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menggabungkan dengan Properti dan Tipe Dasar” gratis?
Ya — teks lengkap “Menggabungkan dengan Properti dan Tipe Dasar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C# Academy, upgrade ke CoddyKit PRO. Kursus C# Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menggabungkan dengan Properti dan Tipe Dasar”?
Teruskan parameter ke tipe dasar dan properti. Kamu berlatih C# Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai C# Academy?
Tidak diperlukan pengalaman sebelumnya. C# Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Menggabungkan dengan Properti dan Tipe Dasar” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran C# Academy ini?
Ya. Setiap pelajaran C# Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Konstruktor Utama pada Kelas
- Menangkap Parameter dalam Anggota
- Konstruktor Utama dengan Struct
- Menggabungkan dengan Properti dan Tipe Dasar