Harici Dosyalar
Coddy'nin C# Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 1 / 70.
Harici dosyalar, sınıflarınızı ayrı C# dosyalarında düzenlemenize ve ad alanlarını (namespaces) kullanarak ana programınızda onlara referans vermenize olanak tanır.
MyClass.cs adında ayrı bir C# dosyası oluşturun
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Ana dosyanızda ad alanına (namespace) başvurun
using MyApp;Bir örnek oluşturun ve kullanın
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());Çıktı:
Hello, I'm Aliceusing MyApp; ifadesi, MyApp ad alanındaki (namespace) sınıfları tam adlarını belirtmeden kullanmanıza olanak tanır. Ad alanı, ilgili sınıfları bir araya getirir ve sınıfların diğer dosyalardan erişilebilir olması için public olması gerekir.
Görev
OrtaSize C# dosyaları (MyClass.cs ve Program.cs) verilmiştir; dosyaları birbirine bağlamak ve harici dosyadaki sınıfı kullanmak için Program.cs dosyasına bir using ifadesi ekleyin!
Kopya kağıdı
Harici dosyalar, sınıfları ayrı C# dosyalarında düzenlemenize ve ad alanlarını (namespaces) kullanarak onlara başvurmanıza olanak tanır.
Bir ad alanı (namespace) ile ayrı bir C# dosyası oluşturun:
namespace MyApp
{
public class MyClass
{
public string Name { get; set; }
public MyClass(string name)
{
Name = name;
}
public string Greet()
{
return $"Hello, I'm {Name}";
}
}
}Ana dosyanızda using ifadesini kullanarak ad alanına başvurun:
using MyApp;Bir örnek (instance) oluşturun ve onu kullanın:
MyClass obj = new MyClass("Alice");
Console.WriteLine(obj.Greet());
// Output: Hello, I'm AliceSınıfların diğer dosyalardan erişilebilir olması için public olması gerekir. using ifadesi, bir ad alanındaki sınıfları tam nitelikli adlarını kullanmadan kullanmanıza olanak tanır.
Kendin dene
// TODO: MyClass'ı kullanmak için ? işaretini doğru ad alanı (namespace) ile değiştirin
using ?;
using System;
class Program
{
static void Main()
{
string testCase = Console.ReadLine();
// MyClass'ın bir örneğini oluşturun ve GetMessage() metodunu çağırın
MyClass obj = new MyClass();
Console.WriteLine(obj.GetMessage());
}
}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ı