Öncelikler önceki derslerimizde classtan bahsetmiştik. Classların .m kısımında Class'a ait fonksiyonların tanımlandığı (işlevlerinin ne olduğunu) söylemiştik. Kısa bir örnekle açıklayalım. Insan adında bir Class ımız olduğunu düşünelim. Bu insanımızın yürürken yaptığı işlemleri "yuru" adında bir fonksiyona koşarken yaptığı işlemleri "kos" adlı bir fonksiyona tanımlayabiliriz.
Peki nasıl tanımlanıyorlar ?
Fonksiyon Tanımlamak
- (void)kos{
Objective C de bir Class için fonksiyon tanımlamak C de bir fonksiyon tanımlamaktan farklıdır. Bir Class içine fonksiyon tanımlarken en önce başına - veya + koyarsınız. Örneğin "alloc" fonksiyonun başında + , "init" fonksiyonunda ise - vardır. Peki + veya - neyi ifade eder?
Aslında bu bizim için çokta önemli değil. Biz genellikle - kullanacağız. Fakat kısaca - yaparsanız bu fonksiyonu bu Class türünden bir obje için + yaparsanız Class için tanımlamış olursunuz.
Ardından fonksiyonun çıktı olarak vereceği şeyin hangi türden olacağını belirlememiz gerekiyor. Örneğin int , float , double , char , (eğer fonksiyon hiçbir şey dödürmüyorsa void)
Ve ya bir Class olabilir. Fakat Class isminden sonra * işaretini koymayı unutmayın.
Ardından fonksiyon adını belirliyoruz.
Şimdi birkaç örnek yazalım
Fonksiyonun yapacağı işlemler { ve } işaretleri arasında kalan kısma yazılır ve çıktı return ile döndürülür. Bunların yanında fonksiyonların argümanlarını eklemek için ise şunun gibi birşey yapıyoruz.
Ardından fonksiyon adını belirliyoruz.
Şimdi birkaç örnek yazalım
-(void)kos{
}
-(int)yasiniSoyle{
return 1;
}
-(NSString *)isminiSoyle{
return @"ismim";
}
-(void)hareketEt :(CGPoint)pozisyon :(CGPoint) hedef{
pozisyon = hedef;
}
: işaretini koyup () içine argümanın türünü yazıp ardından argüman adını yazıyoruz.Bu şekilde istediğimiz kadar argüman oluşturabiliriz.
Fonksiyon Çağırmak
Bir Class kendine ait bir fonksiyonu çağırmak
[class fonksiyon];
şeklinde olur. Örneğin
Canlilar * canli = [[Canlilar alloc]init];
[canli kos];
Burada canli adında bir obje tanımlayıp canli objesine ait kos fonksiyonunu çağırdık. Bu arada fonksiyonlarımızın diğer Classlar içerisinde de tanımlamak için .h içine şu şekilde yazarız.
Hiç yorum yok :
Yorum Gönder