ETİKETLER
ios
Gösterge İfadeleri
Gösterge (pointer) ifadeleri, bir adres değeri üreten ifadelerdir. Gösterge değişkeni içinde sadece bir adres değeri bulunabilir. Bir gösterge hangi tip veriye ait adresi taşıyorsa o tipte tanımlanır.
Aşağıdaki örnekte p, k değişkeninin adresini saklayan bir göstergedir ve p+4 ise, k’nın adresinden sonraki 4. tamsayı değerinin adresini göstermektedir.
int k;
int *p;
p=&k;
p
p+4
&k +2
“uvyz”
(char*) 0x00ab13ff
float Türündeki İfadeler
Bazı ifadeler ise sonuç olarak float ya da double değer üreteceklerdir:
float x,y,z;
double u;
x=3; y=5; z=6;
u=1.77272653;
x + y / 3 - 8
x * 3.5 – 2 / (float) 3
x + u / 2 – 4
Aşağıdaki C programı yukarıdaki ifadelerin değerlerini yazdırıyor:
int Türü İfadeler
int türünde tamsayı sabit ya da değişken içeren ifadeler, sonuçta tamsayı (int) değer üretecektir. Örneğin;
int a,b,c;
a=9;
b=12;
c=13;
şeklindeki atamalar ile,
a + b / c
ifadesi,
9+12/13=9+0=9 olarak hesaplanacaktır.
12 ve 13’ün int türünde olduğunu ve bu nedenle 12/13 işleminin sonucunun da int türünde olacağını ve 12/13’ün int türündeki sonucunun da 0 olacağını hatırlatalım.
Sabitlerden Oluşan İfadeler
Objective-C dilinde ifadeler (expressions); işlem operatörleri, değişken (variable) ve sabitlerin (constant) geçerli kullanımı ile oluşturulur.
Sabitlerden oluşan ifadeler, sadece sabit ve operatör içerirler:
17 + 2
3
'b' – 200 / 3 gibi.
Arayüz ve Gerçekleme Dosyalarını Ayırma
Bir önceki 'Metotları Çağırma' başlığında, programda sınıfla ilgili tanımlar ve sınıftan örnek oluşturma işlemlerinin hepsi tek bir kaynak dosya içinde bulunuyor. Oysa bunları ayırırsak daha iyi bir programlama gerçekleştirmiş oluruz.
Aşağıdaki interface kısmını daire.h adlı bir dosyada saklayalım:
#import <Foundation/Foundation.h>
@interface daire: NSObject
{
double yaricap;
}
-(void) setYaricap: (double) a;
-(double) alan;
-(double) cevre;
@end
Metotları Çağırma
d1 adlı sınıf örneğinin yaricap adlı üye değişkenine değer atamak için setYaricap metodunu aşağıdaki gibi çağırabiliriz:
ÖRNEK PROGRAM
Aşağıda listesi verilen programda daire adlı sınıf tanımlanarak bu sınıftan d1 adlı bir örnek oluşturuluyor. Daha sonra d1’in yarıçapı 5 olarak atanıp, bu dairenin alanı ve çevresi hesaplanarak yazdırılıyor:
Sınıftan Bir Örnek Oluşturma
Daire adlı sınıftan d1 adlı bir örnek oluşturmak için aşağıdaki formülü kullanmalıyız:
daire *d1;
Bir sonraki aşamada sınıf örneği için bellek tahsisini gerçekleştiriyoruz:
d1=[daire alloc];
alloc, NSObject sınıfından miras alınan bir sınıf metodudur.
Sonrasında örneğimizin başlangıç durumunu init (initialization) metodu ile oluşturuyoruz:
d1=[d1 init];
Sınıf Gerçekleştirimi
Sınıfın gerçekleştirim (implementation) kısmı aşağıdaki yapıya sahiptir:
@implementation SınıfAdı
SınıfMetodları
@end
Buna göre daire adlı sınıfın gerçekleştirim kısmı aşağıdaki gibi olacaktır:
@implementation daire
-(void) setYaricap: (double) a
{
yaricap = a;
}
-(double) alan
{
return 3.14159*yaricap*yaricap;
}
-(double) cevre
{
return 2*3.14159*yaricap;
}
@end