-
iOS(Swift) Eğitimlerine Başlarken
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Bir Swift Programının Oluşturulması ve Çalıştırılması
-
Swift Diline Hızlı Bir Giriş
-
Diziler (Arrays) ve Sözlükler (Dictionaries)
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar ve Kontrol Transfer Komutları (Control Transfer Statements)
-
Sınıflar(Classes) ve Nesneler(Objects) ve Yapılar(Structures)
-
Sayma Tipi (Enumeration), Protokoller (Protokols) ve Delege Etme (Delegation)
-
iOS(Swift) Eğitimlerine Başlarken Giriş
-
Swift Dilinin Temel Özellikleri
-
Bit Düzeyinde İşlem Gören Operatörler
-
Kontrol Komutları (Control Statements)
-
Swift'te Fonksiyonlar
-
Swift'te Fonksiyonlar Giriş
-
İç İçe (Nested) Fonksiyonlar
-
Birden Çok Formel Parametre alan Fonksiyonlar
-
Tek Çift Sayı Ayrımı Yapan Bir Fonksiyon
-
Parametresiz Fonsiyonlar
-
Değer Göndermeyen Fonksiyonlar
-
Birden Çok Değer Gönderen Fonksiyonlar
-
Dış Parametre İsimleri (External Parameter Names)
-
Değişkin (Variadic) Parametreler
-
Değişken (Variable) Parametreler
-
In-Out Türü Parametreler
-
Fonksiyon Tipinde Sabit ya da Değişken Tanımlamak
-
Bir Fonksiyonun Parametre Listesinde Başka Bir Fonksiyonun Kullanılması
-
Jenerikler (Generics)
-
Kapatma (Closure)
-
Swift'te Fonksiyonlar Giriş
-
Nesneye Yönelik Programlama (Object Oriented Programming)
-
Sınıf (Class) Oluşturma
-
Sınıf (Class) Oluşturma Giriş
-
Delege Etme (Delegaation)
-
Yapılar (Structures)
-
Sayma Tipi (Enumeration)
-
Dinamik(Dynamic) ve Statik(Static) Bağlama (Binding)
-
Çok Biçimlilik (Polymorphism)
-
Uzatmalar (Extensions)
-
Hesaplanmış Özellikler (Computed Properties)
-
Extension Yardımı ile Bir Yapıya (Structure) Özellik (Property) Ekleme
-
Protokoller (Protocols)
-
Self İfadesi
-
İlk Değer Atama (Inıtializer)
-
Nesnelere Ayrılan bellek alanını İade etme (Deinitializer)
-
Sınıf (Class) Oluşturma Giriş
-
Swift'te Tipler (Types)
-
Koleksiyon Tipleri (Collection Types)
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Dizi İçine Aralık (Range) İfadesi ile Atama Yapma
-
Dizinin Elemanlarını Tarama
-
Dizilere İlk Değer Atamak için Alternatif bir Yol:count ve repeatedValue Metotları
-
Bir Tablonun Satır ve Sütun Toplamları ve Genel Toplamı
-
Kare Matris Swift Programı
-
Dizilerin Kopyasının Oluşturulması
-
Karakter Dizileri ile ilgili Swift Programı
-
Sözlüklerin Kopyasının Oluşturulması
-
Koleksiyon Tipleri (Collection Types) Giriş
-
Bildirimler (Declarations)
Dinamik bağlama, derleyicinin çağrılan fonksiyon ya da değişken hakkındaki çözümlemeleri ancak icra zamanında (run time) yapabilmesi durumudur. Dinamik bağlamaya literatürde geç bağlama (late binding) adı da verilmektedir. Örneğin bir A sınıfından bir B alt sınıfı ürettiğimizi düşünelim. Süper sınıfımız A’da X adlı bir metodumuz varsa,ve alt sınıf B’de de bu metot override edilmişse (aynı isim farklı içerikle kullanılmışsa) bu X metodunun çağrılması durumunda, gerekli çözümleme ya da hangi tipteki bir nesneye referans verileceği, derleyici tarafından ancak icra zamanında gerçekleştirilebilir.
ÖRNEK PROGRAM:
Aşağıdaki örnekte MotorTasit adlı bir super sınıftan otomobil adlı bir alt sınıf türetilmiştir. Her ikisinde de yaz adlı metot aynı isim ve farklı içeriktedir:
class MotorTasit
{
var tip: String="İÇTEN YANMALI MOTOR";
func yaz()
{
print("MOTORLU TAŞITLAR...\(tip)..KULLANIR");
}
}
class Otomobil : MotorTasit
{
var ad:String=""
func otomobil(tip:String)
{
self.tip = tip;
}
override func yaz()
{super.yaz()
print("OTOMOBİL \(tip) ...KULLANIR");
}
}
var mercedes=Otomobil()
mercedes.ad="MERCEDES"
mercedes.yaz()//DİNAMİK BAĞLAMA
print("TİP \(mercedes.ad) ..DİR")//STATİK BAĞLAMA
PROGRAMIN ÇIKTISI
MOTORLU TAŞITLAR...İÇTEN YANMALI MOTOR..KULLANIR
OTOMOBİL İÇTEN YANMALI MOTOR ...KULLANIR
TİP MERCEDES ..DİR
Statik bağlama ya da erken bağlama (early binding), derleyici tarafında fonksiyon çağırmaları ya da benzer işlemlerde gerekli çözümlemelerin derleme zamanında (compile time) yapılabildiği durumdur. Genellikle private tipteki sınıf ya da metotlarda static bağlama söz konusudur.