C# Academy · Ders

Özellikler ve Temel Türlerle Birleştirme

Parametreleri temel türlere ve özelliklere aktarın.

4. ders / 413 adım

Özellikler ve Temel Türlerle Birleştirme, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.

Birincil Oluşturucuları Kalıtımla Birleştirme

Birincil oluşturucuya sahip türetilmiş bir sınıf, üst bilgideki : Base(args) söz dizimini kullanarak parametrelerini temel sınıfa iletebilir.

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 Woof

Parametrelerin Bir Alt Kümesini İletme

Türetilmiş sınıf, temel sınıftan daha fazla parametre alabilir ve yalnızca ilgili olanları üst sınıfa iletebilir.

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 5

Başa İletilecek Bağımsız Değerleri Dönüştürme

Temel oluşturucuya gönderilecek bağımsız değerleri, üst bilgide türetilmiş sınıfın parametrelerinden satır içinde hesaplayabilirsiniz.

using System;

class Label(string text) {
    public string Text => text;
}

class UpperLabel(string text) : Label(text.ToUpper()) {
}

Console.WriteLine(new UpperLabel("hi").Text); // HI

Yanına Özellikler Ekleme

Birincil oluşturucu ve açıkça tanımlanmış özellikler birlikte kullanılabilir. Özellikleri, bildirildikleri sırada parametrelerden başlatın.

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 10

Temel Parametreler ve Türetilmiş Sınıftaki Kullanım

Türetilmiş bir birincil oluşturucu parametresi, temel sınıfa iletildikten sonra da türetilmiş sınıfın gövdesinde kullanılabilir.

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: Widget

Kayıtlar ve Birincil Oluşturucular

Kayıtlar, genel erişimli ve yalnızca başlatılabilir özellikleri otomatik olarak oluşturmak için birincil oluşturucuları kullanır. Konumsal kayıt, bunun en kısa biçimidir.

using System;

record Person(string First, string Last) {
    public string Full => First + " " + Last;
}

Console.WriteLine(new Person("Ada", "Lovelace").Full); // Ada Lovelace

Kayıt Kalıtımı

Türetilmiş kayıtlar, temel kayda konumsal olarak iletilir ve birleşik özellik kümesini oluşturur.

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 4

Temel Çağrısından Önce Doğrulama

Doğrulamaya ihtiyacınız varsa bunu, fırlatma ifadesi kullanan bir özellik başlatıcısında yapın; temel çağrı yine de önce çalışır.

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); // a

Yakalanan Parametreleri ve Özellikleri Birlikte Kullanma

Bazı parametreleri yakalanan özel durum olarak tutup diğerlerini özellik olarak sunabilir, genel erişim yüzeyini ihtiyacınıza göre düzenleyebilirsiniz.

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 99

Varsayılan Özellik Değerleri

Parametrelere bağlı olmayan özellikler de varsayılan başlatıcılara sahip olabilir; bunlar birincil oluşturucu parametreleriyle serbestçe birlikte kullanılabilir.

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 True

Bir Araya Getirme

Bir temele ileten, bir özellik ekleyen ve hesaplanan bir üye sunan türetilmiş sınıf.

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)

Hızlı Kontrol

Birincil oluşturucuların temel sınıflara nasıl iletildiğini doğrulayın.

Özet

Birincil oluşturucuları özellikler ve temel sınıflarla birleştirmeyi öğrendiniz.

  • class D(...) : Base(args), temel sınıfa iletir.
  • Temel sınıfa gönderilen bağımsız değerler satır içinde hesaplanabilir.
  • Özellikler, bildirim sırasında parametrelerden başlatılabilir.
  • Kayıtlar, konumsal parametrelerden genel erişimli ve yalnızca başlatılabilir özellikler oluşturur.
Başlamak ücretsiz

Yapay zeka eğitmeniyle C# öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
93
Dersler
346

Sıkça Sorulan Sorular

“Özellikler ve Temel Türlerle Birleştirme” dersi ücretsiz mi?

Evet — “Özellikler ve Temel Türlerle Birleştirme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.

“Özellikler ve Temel Türlerle Birleştirme” dersinde ne öğreneceğim?

Parametreleri temel türlere ve özelliklere aktarın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C# Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Özellikler ve Temel Türlerle Birleştirme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sınıflarda Birincil Oluşturucular
  2. Üyelerde Parametreleri Yakalama
  3. Struct'larla Birincil Oluşturucular
  4. Özellikler ve Temel Türlerle Birleştirme
← C# Academy Sayfasına Dön