• 0216 488 01 91
  • destek@sonsuzbilgi.com.tr

Firma Web Siteniz Var mı?

Mükemmel Bir Firma Web Siteniz Olsun, Bugün Kullanmaya Başlayın

*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle


Objective-C'de Kalıtım ve Polimorfizm Kavramları

Adı : Objective-C'de Kalıtım ve Polimorfizm Kavramları

Kalıtım (Inheritance) ve Polimorfizm (Polymorphism), bilgisayar bilimlerinde programlama dillerinde oldukça yaygın olarak kullanılan ve yazılım geliştiricilerin sıkça ihtiyaç duydukları iki kavramdır. Bu yazıda Objective-C programlama dilinde bu kavramlar üzerinde detaylı bir şekilde duracağız.

Kalıtım (Inheritance)

Kalıtım, temel olarak bir sınıfın diğer bir sınıf tarafından miras alınmasıdır. Miras alan sınıf, kalıtım veren sınıfın davranışlarını (metotlarını ve özelliklerini) miras alır. Her sınıfın bir ana sınıfı olsa da, birden fazla sınıfın birleşiminden oluşan hiyerarşik bir yapı da oluşturulabilir.

Objective-C’de kalıtımı gerçekleştirmek için, parent (ebeveyn) sınıfında kişisel olarak yazılmış tüm değişkenler ve fonksiyonlar, alt sınıflardan devralınabilir. Bu işlem, parent sınıfın tanımlandığı yerde yapılabilir. Aşağıdaki örnek, bu işlemi daha iyi anlamanıza yardımcı olabilir.

// Parent Sınıfı
@interface Parent : NSObject {
int a;
}

- (void)methodA;

@end

@implementation Parent

- (void)methodA {
NSLog(@\"Method A çalıştı.\");
}

@end

// Child Sınıfı
@interface Child : Parent {
int b;
}

- (void)methodB;

@end

@implementation Child

- (void)methodB {
NSLog(@\"Method B çalıştı.\");
}

@end

Yukarıdaki örnekte, Child sınıfı, Parent sınıfından inherit (miras) edilmiştir. Child sınıfı, parent sınıfının methodA() fonksiyonunu miras alır ve ayrıca parent sınıfındaki int a değişkenine ek olarak kendine has bir değişken olan int b değişkenini içerir.

Polimorfizm (Polymorphism)

Polimorfizm, birden fazla sınıfın aynı nesne ile çağrılabilmesi anlamına gelir. Bu, çeşitli sınıfların aynı arayüzü (interface’i) uyguladığı durumlarda anyazılır. Bu sayede, aynı fonksiyonlar farklı sınıflar tarafından implemente edilebilir ve aynı zamanda aynı arayüz üzerinden aranabilir.

Objective-C'de; Kalıtım veren ve kalıtım alan sınıflar için standardı bir interface tanımlanır. Böylece kalıtım alan sınıf, kalıtım veren sınıfın davranışını tamamen taklit edebilir.

Aşağıdaki örnek, polimorfizm kavramını kolaylıkla açıklamaktadır.

// Parent sınıfı
@interface Parent : NSObject

- (void)sayHello;

@end

@implementation Parent

- (void)sayHello {
NSLog(@\"Merhaba\");
}

@end

// Child sınıfı
@interface Child : Parent

- (void)sayHello;

@end

@implementation Child

- (void)sayHello {
NSLog(@\"Hello World!\");
}

@end

// Main fonksiyonu
int main(int argc, const char * argv[]) {
@autoreleasepool {
Parent *parent = [[Parent alloc]init];
Child *child = [[Child alloc]init];

[parent sayHello];
[child sayHello];
}
return 0;
}

Yukarıdaki örnekte, Parent sınıfında, \"merhaba\" metni yazdıran sayHello fonksiyonu tanımlanmıştır. Ancak bu fonksiyon, Child sınıfında, \"Hello World\" mesajını yazdıran bir metot ile yeniden yazılmıştır. Parent sınıfının bir üyesi olan bir Parent tipi objeye sayHello fonksiyonu çağrıldığında, \"Merhaba\" metni görünecektir. Ancak, Child sınıfının bir üyesi olan bir Child tipi objeye sayHello fonksiyonu çağrıldığında, \"Hello World\" mesajı görüntülenecektir.

Sık Sorulan Sorular

S. Kalıtım ve Polimorfizm neden gereklidir?

C. Kalıtım, kod tekrarını azaltmak, daha temiz kod yazmak, ve nesne yönelimli programlama (Object-Oriented-Programming) için bir yol sağlamak için gereklidir. Polimorfizm, kod tekrarını azaltmak, aynı arayüzü uygulayarak çok sayıda sınıfı yönetmek için gereklidir.

S. Bir sınıf nasıl kalıtım alır?

C. Bir sınıf, ana sınıfın adını belirterek bir child sınıfının başına @interface : satırını yazarak kalıtım alır.

S. Polimorfizm nasıl uygulanır?

C. Polimorfizm, birkaç sınıfın arasında paylaşılan ve aynı arayüzün uygulandığı bir sınıfta uygulanır. Bu sınıf, arayüz üzerinden ortak davranışları paylaşıyor ve bu sınıftaki her sınıf, arayüzü aynı şekilde kullanarak farklı davranışlar üretiyor."

Objective-C'de Kalıtım ve Polimorfizm Kavramları

Adı : Objective-C'de Kalıtım ve Polimorfizm Kavramları

Kalıtım (Inheritance) ve Polimorfizm (Polymorphism), bilgisayar bilimlerinde programlama dillerinde oldukça yaygın olarak kullanılan ve yazılım geliştiricilerin sıkça ihtiyaç duydukları iki kavramdır. Bu yazıda Objective-C programlama dilinde bu kavramlar üzerinde detaylı bir şekilde duracağız.

Kalıtım (Inheritance)

Kalıtım, temel olarak bir sınıfın diğer bir sınıf tarafından miras alınmasıdır. Miras alan sınıf, kalıtım veren sınıfın davranışlarını (metotlarını ve özelliklerini) miras alır. Her sınıfın bir ana sınıfı olsa da, birden fazla sınıfın birleşiminden oluşan hiyerarşik bir yapı da oluşturulabilir.

Objective-C’de kalıtımı gerçekleştirmek için, parent (ebeveyn) sınıfında kişisel olarak yazılmış tüm değişkenler ve fonksiyonlar, alt sınıflardan devralınabilir. Bu işlem, parent sınıfın tanımlandığı yerde yapılabilir. Aşağıdaki örnek, bu işlemi daha iyi anlamanıza yardımcı olabilir.

// Parent Sınıfı
@interface Parent : NSObject {
int a;
}

- (void)methodA;

@end

@implementation Parent

- (void)methodA {
NSLog(@\"Method A çalıştı.\");
}

@end

// Child Sınıfı
@interface Child : Parent {
int b;
}

- (void)methodB;

@end

@implementation Child

- (void)methodB {
NSLog(@\"Method B çalıştı.\");
}

@end

Yukarıdaki örnekte, Child sınıfı, Parent sınıfından inherit (miras) edilmiştir. Child sınıfı, parent sınıfının methodA() fonksiyonunu miras alır ve ayrıca parent sınıfındaki int a değişkenine ek olarak kendine has bir değişken olan int b değişkenini içerir.

Polimorfizm (Polymorphism)

Polimorfizm, birden fazla sınıfın aynı nesne ile çağrılabilmesi anlamına gelir. Bu, çeşitli sınıfların aynı arayüzü (interface’i) uyguladığı durumlarda anyazılır. Bu sayede, aynı fonksiyonlar farklı sınıflar tarafından implemente edilebilir ve aynı zamanda aynı arayüz üzerinden aranabilir.

Objective-C'de; Kalıtım veren ve kalıtım alan sınıflar için standardı bir interface tanımlanır. Böylece kalıtım alan sınıf, kalıtım veren sınıfın davranışını tamamen taklit edebilir.

Aşağıdaki örnek, polimorfizm kavramını kolaylıkla açıklamaktadır.

// Parent sınıfı
@interface Parent : NSObject

- (void)sayHello;

@end

@implementation Parent

- (void)sayHello {
NSLog(@\"Merhaba\");
}

@end

// Child sınıfı
@interface Child : Parent

- (void)sayHello;

@end

@implementation Child

- (void)sayHello {
NSLog(@\"Hello World!\");
}

@end

// Main fonksiyonu
int main(int argc, const char * argv[]) {
@autoreleasepool {
Parent *parent = [[Parent alloc]init];
Child *child = [[Child alloc]init];

[parent sayHello];
[child sayHello];
}
return 0;
}

Yukarıdaki örnekte, Parent sınıfında, \"merhaba\" metni yazdıran sayHello fonksiyonu tanımlanmıştır. Ancak bu fonksiyon, Child sınıfında, \"Hello World\" mesajını yazdıran bir metot ile yeniden yazılmıştır. Parent sınıfının bir üyesi olan bir Parent tipi objeye sayHello fonksiyonu çağrıldığında, \"Merhaba\" metni görünecektir. Ancak, Child sınıfının bir üyesi olan bir Child tipi objeye sayHello fonksiyonu çağrıldığında, \"Hello World\" mesajı görüntülenecektir.

Sık Sorulan Sorular

S. Kalıtım ve Polimorfizm neden gereklidir?

C. Kalıtım, kod tekrarını azaltmak, daha temiz kod yazmak, ve nesne yönelimli programlama (Object-Oriented-Programming) için bir yol sağlamak için gereklidir. Polimorfizm, kod tekrarını azaltmak, aynı arayüzü uygulayarak çok sayıda sınıfı yönetmek için gereklidir.

S. Bir sınıf nasıl kalıtım alır?

C. Bir sınıf, ana sınıfın adını belirterek bir child sınıfının başına @interface : satırını yazarak kalıtım alır.

S. Polimorfizm nasıl uygulanır?

C. Polimorfizm, birkaç sınıfın arasında paylaşılan ve aynı arayüzün uygulandığı bir sınıfta uygulanır. Bu sınıf, arayüz üzerinden ortak davranışları paylaşıyor ve bu sınıftaki her sınıf, arayüzü aynı şekilde kullanarak farklı davranışlar üretiyor."


Ankara Plaket İmalatı

Tüm Plaket ihtiyaçlarınız için Buradayız!

Kristal, Ahşap, Bayrak.. Plaket ihtiyaçlarınıza Mükemmel çözümler üretiyoruz.


Kalıtım polimorfizm sınıf nitelik metod obje özellik davranış