Ders 3 : Class Fonksiyonları


Eğer daha önce herhangi bir proglamlama dilinde bişeyler yazmaya çalışmışsanız ve ya matematik dersinde görmüşseniz fonksiyon nedir biliyorsunuz demektir. Eğer bilmiyorsanız fonksiyonların ne olduğunu maalesef burada öğrenemezsiniz. Bu yazım sadece fonksiyonların Objective C içinde nasıl kullanıldığı , nasıl tanımlandığı vb. şeylerle ilgilidir.

Ö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

-(void)kos{
    
}

-(int)yasiniSoyle{
    
    return 1;
}

-(NSString *)isminiSoyle{
    
    return @"ismim";

}

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.


-(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.

-(void)hareketEt :(CGPoint)pozisyon :(CGPoint) hedef;


Hiç yorum yok :

Yorum Gönder