iOS 102Başlangıç seviyesi derslerde iOS uygulama geliştirme ortamını detaylı olarak inceliyoruz.

Tüm Eğitimleri Aldın mı? Kendini sınamanın tam zamanı

Haydi Sınava Gir

Sınıflar(Classes) ve Nesneler(Objects) ve Yapılar(Structures)

Kategori : Mobil | Lisans : Creative Commons (by-nc-sa) | En son 22.07.2018 tarihinde güncellendi
Eğitmen : Geleceği Yazanlar Ekibi
Etiketler : swift class swift nesneler swift objects swift sınıflar

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