İsim Alanları ve Yönergeler
Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 2 / 70.
Ad alanları (Namespaces), kodunuzu düzenler ve adlandırma çakışmalarını önler. Klasörlerin dosyaları düzenlemesi gibi, ilgili sınıfları bir araya getirirler.
Bir namespace içinde bir sınıf oluşturun
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Başka bir ad alanından sınıflara erişmek için bir using yönergesi kullanın
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Çıktı:
AliceBir using yönergesi olmadan, tam nitelikli adı (fully qualified name) kullanmanız gerekir.
MyApp.Models.User user = new MyApp.Models.User("Bob");using yönergesi, her seferinde tam ad alanı yolunu yazmanıza gerek kalmadan bir ad alanı içindeki türlere başvurmanıza olanak tanır. System, Console gibi temel sınıfları içeren yaygın bir ad alanıdır.
Görev
OrtaMyApp.Models ad alanında bir User sınıfınız var. User sınıfını tam nitelikli adı olmadan kullanmak için Program.cs dosyasına doğru using yönergesini ekleyin.
Kopya kağıdı
Ad alanları (Namespaces), ilgili sınıfları bir araya getirerek kodu düzenler ve adlandırma çakışmalarını önler.
Bir ad alanı içinde sınıf oluşturun:
namespace MyApp.Models
{
public class User
{
public string Name { get; set; }
public User(string name)
{
Name = name;
}
}
}Başka bir ad alanındaki sınıflara erişmek için bir using yönergesi kullanın:
using System;
using MyApp.Models;
class Program
{
static void Main()
{
User user = new User("Alice");
Console.WriteLine(user.Name);
}
}Bir using yönergesi olmadan, tam nitelikli adı (fully qualified name) kullanın:
MyApp.Models.User user = new MyApp.Models.User("Bob");System ad alanı, Console gibi temel sınıfları içerir.
Kendin dene
using System;
// YAPILACAK: MyApp.Models için using yönergesi ekleyin
class Program
{
static void Main()
{
string userName = Console.ReadLine();
// YAPILACAK: userName kullanarak bir User nesnesi oluşturun
// YAPILACAK: "User created: " ve ardından kullanıcının Name özelliğini yazdırın
}
}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
1OOP Temelleri
Harici Dosyalarİsim Alanları ve YönergelerSınıf ve Nesnelere Giriş'this' Anahtar KelimesiMetotlar ve ParametrelerAlanlar ve ÖzelliklerYapıcı MetotlarNesne BaşlatıcılarÖzet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtım (:) Sözdizimi'base' Anahtar KelimesiVirtual ve Override Anahtar KelimeleriSealed Sınıflar'object' Temel SınıfıÖzet - Çalışan Hiyerarşisi7İleri Düzey Özellikler
Operatör Aşırı Yüklemeİndeksleyiciler (this[])ToString() Geçersiz KılmaGenişletme MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım Kalıplarına GirişThread-Safe SingletonFactory KalıbıObserver Kalıbı (Olaylar)Strategy Kalıbı2Özellikler ve Statik Üyeler
Otomatik Uygulanan ÖzelliklerSadece Okunur/Yazılır ÖzelliklerStatik Alanlar ve MetotlarStatik Sınıflarİfade Gövdeli Üyeler5Polimorfizm ve Arayüzler
Derleme vs Çalışma Zamanı PolimorfizmiArayüz vs Soyut SınıfÇoklu ArayüzlerBelirgin ArayüzlerUpcasting ve DowncastingÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kalıtım yerine KompozisyonGenerics (Sınıflar ve Metotlar)Delegates ve EventlerAttributes ve ReflectionIDisposable ve using İfadesiDependency Injection Temelleri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı3Sınıf Mimarisi
Örnek vs Statik Veri'readonly' ve 'const' Anahtar KelimeleriDestekleyici Alanlar (Backing Fields)Özet - Banka Hesabı Yöneticisi6Kapsülleme
Erişim BelirleyicilerKapsülleme için ÖzelliklerVeri Gizleme UygulamasıDeğişmezlik KalıplarıÖzet - Öğrenci Kayıtları