-
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)
Sınıf yapısı, nesneye yönelik programlamanın en temel yapısıdır. Bir sınıf yapısı içinde bir nesne oluşturmak için gerekli veri ve metotlar (fonksiyonlar) birlikte tanımlanır. Nesneye yönelik programlamanın bu özelliğine paketleme (encapsulation) adı verilir.
Dikdörtgen nesnesini göz önüne alalım. Bu nesnenin iki özelliği (property) mevcuttur: Genişlik ve uzunluk.
Dikdörtgen üzerinde iki önemli hesaplama gerekir: Dikdörtgenin çevresi ve dikdörtgenin alanı. Bu hesaplamalar ise metotlar (fonksiyonlar) sayesinde gerçekleştirilecektir.
daire | sınıf |
---|---|
r(yarıçap) | özellikler |
alan(),çevre() | methodlar |
ÖRNEK:
Aşağıdaki programda, yukardaki şekilde genel yapısı verilen Daire adlı sınıf oluşturulmuştur. Daha sonra ise, dd adlı bir nesne (object) bu sınıftan türetilmiş ve yarıçap için ilk değer atanmış (4.0) ve alan ile çevre metotları çağrılarak dairenin alanı ve çevresi hesaplanmıştır.
class Daire
{
var r:Double
init(yc:Double)
{r=yc
}
func cevre()->Double
{ return 2*3.14159 * r
}
func alan()->Double
{ return 3.14159 * r * r
}
}
var dd = Daire( yc:4.0 )
print("DAİRENİN YARI ÇAPI=\(dd.r)")
print("DAİRENİN ÇEVRESİ=\(dd.cevre())")
print("DAİRENİN ALANI=\(dd.alan())")
PROGRAMIN ÇIKTISI
DAİRENİN YARI ÇAPI=4.0
DAİRENİN ÇEVRESİ=25.13272
DAİRENİN ALANI=50.26544
DAİRE PROGRAMININ FARKLI BİR VERSİYONU
let π = 3.14159
func DaireAlan(ycap r: Double) -> Double {
return π*r*r
}
let Alan = DaireAlan(ycap: 2)
print("DAİRE ALANI...\(Alan)")
class DAIRE{
var r: Double
init(ycap: Double) {
r = ycap
}
init(cap d: Double) {
r = d/2
}
func CEVRE() -> Double {
return 2*π*r
}
}
let dd = DAIRE(ycap: 2)
print("DAİRE ÇEVRESİ... \(dd.CEVRE())")
let CEV = [ 2 , 4 ].map { r in DAIRE(ycap: r).CEVRE() }
print("ÇEVRELER....: \(CEV)")
PROGRAMIN ÇIKTISI
DAİRE ALANI...12.56636
DAİRE ÇEVRESİ... 12.56636
ÇEVRELER....: [12.56636, 25.13272]
YAPILAR (STRUCTURES)
Swift’teki yapı (structure), esasında C dilindeki yapı (struct) ile benzerlik gösterir, fakat arada büyük bir fark da mevcuttur. Swift’teki yapılarda değişkenler yanında metotlar da tanımlanabilir; oysa C’de bu mevcut değildir.
ÖRNEK:
Aşağıdaki örnekte, sınıf yapısında verdiğimiz daire örneğini yapı için tekrarlıyoruz. Özellik tanımlama, başlangıç değeri atama ve metot tanımlamanın tamamen aynı şekilde yapıldığını görebilirsiniz:
struct Daire
{
var r:Double
init(yc:Double)
{r=yc
}
func cevre()->Double
{ return 2*3.14159 * r
}
func alan()->Double
{ return 3.14159 * r * r
}
}
var dd = Daire( yc:4.0 )
print("DAİRENİN YARI ÇAPI=\(dd.r)")
print("DAİRENİN ÇEVRESİ=\(dd.cevre())")
print("DAİRENİN ALANI=\(dd.alan())")
PROGRAMIN ÇIKTISI
DAİRENİN YARI ÇAPI=4.0
DAİRENİN ÇEVRESİ=25.13272
DAİRENİN ALANI=50.26544