Mobil Programlama

iOS

DERS PROGRAMI
iOS 101 Ders Programı

Sınıf (Class) ve Statik (Static) Değişken Özellikleri

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

 

Sınıfa ait hesaplanmış bir özellik bildirimi için class anahtar sözcüğü kullanılmalıdır. Statik bir değişken özelliği bildirimi için de static anahtar sözcüğü kullanılmalıdır.

 

 

ÖRNEK:

struct YAPI {

static var DepTipOz = "ankara"

static var HesTipOz: Int {

return 65

}

}

enum SAYTIP {

static var DepTipOz = "istanbul"

static var HesTipOz: Int {

return 77

}

}

class SINIF{

class var HesTipOz: Int {

return 69

}

}



print("SINIF.HesTipOz...\(SINIF.HesTipOz)")

print("YAPI.HesTipOz...\(YAPI.HesTipOz)")

print("SAYTIP.HesTipOz...\(SAYTIP.HesTipOz)")

print("YAPI.DepTipOz...\(YAPI.DepTipOz)")

print("SAYTIP.DepTipOz...\(SAYTIP.DepTipOz)")

 

PROGRAMIN ÇIKTISI

SINIF.HesTipOz...69

YAPI.HesTipOz...65

SAYTIP.HesTipOz...77

YAPI.DepTipOz...ankara

SAYTIP.DepTipOz...istanbul

 

TİP KOPYALAMA BİLDİRİMLERİ

 

Swift’te, mevcut tipler, başka isim altında da oluşturulabilir. Bu tür bir işlem,

 

typealias TipYeniAd=MevcutTip

 

şeklinde bir bildiri ifadesi ile gerçekleştirilir.

 

Bu tanımlama yapıldıktan sonra, TipYeniAd sözcüğü, MevcutTip yerine kullanılabilir.

 

ÖRNEK:


 

typealias TamSay=Int

typealias Cift=Double

typealias Metin=String

var x:TamSay=12

var y:Cift=67.09

var z:Metin="orhan veli"

print("x=\(x)")

print("y=\(y)")

print("z=\(z)")

 

PROGRAMIN ÇIKTISI:

x=12

y=67.09

z=orhan veli

 

 

FONKSİYON BİLDİRİMİ

 

Bir program içinde ya da bir sınıf, yapı, enumeration içinde fonksiyon bildirimi aşağıdaki formattadır:

func FonksiyonAdi(Parametreler)->DönüşTipi

{ Deyimler

}



Eğer fonksiyon bir değer göndermiyorsa yani void tipinde ise bu durumda dönüş tipi kullanılmaz ve fonksiyon aşağıdaki şekli alır:



func FonksiyonAdi(Parametreler)

{ Deyimler

}

 

 

ÖRNEK:

 

Aşağıdaki sirala adlı fonksiyon void tipi (değer göndermeyen) bir fonksiyondur; kendisine gönderilen diziyi küçükten büyüğe doğru sıralayıp yazdırmaktadır:

 

func sirala(x: inout [Int], n: Int) {
    var i = 0, j = 0
    var t: Int
    
    while i <= n - 2 {
        j = i + 1
        while j <= n - 1 {
            if x[i] > x[j] {
                t = x[i]
                x[i] = x[j]
                x[j] = t
            }
            j += 1
        }
        i += 1
    }
    
    for i in x {
        print(i)
    }
}

var u: [Int] = [56, 9, 11, -9, 76, 4]

sirala(x: &u,n: 6)

 

 

PROGRAMIN ÇIKTISI

‌ -9

4

9

11

56

76

 

 

ÖRNEK

 

Aşağıdaki ArOrt adlı fonksiyon ise kendisine gönderilen Double tipinde bir dizinin aritmetik ortalamasını hesaplayarak bunu gene Double tipinde çağrıldığı noktaya geri göndermektedir:

 

 

func ArOrt(x: [Double], n: Double) -> Double {
    var s: Double = 0
    
    for i in x {
        s += i
    }
    
    return s / n
}

var a: [Double] = [3, 9, 5, 2]

print("a dizisinin aritmetik ort=\(ArOrt(x: a, n: 4.0))")

var b:[Double]=[13.0,19.0,5.0,7.0,12.0]

print("b dizisinin aritmetik ort=\(ArOrt(x: b,n: 5.0))")

 

PROGRAMIN ÇIKTISI

a dizisinin aritmetik ort=4.75

b dizisinin aritmetik ort=11.2