0Pricing
Swift Academy · Ders

Sınıf Kalıtımı ve super Anahtar Sözcüğü

Alt sınıflar oluşturmayı, super.init() çağırmayı ve üst sınıf davranışını genişletmeyi öğrenin.

Sınıf Kalıtımı ve super Anahtar Sözcüğü, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 4 dersten oluşur.

Hoş geldiniz

Sınıflar kalıtımı destekler; bir alt sınıf, üst sınıfı genişletebilir veya özelleştirebilir. Bu, nesne yönelimli tasarımın temel unsurları olan kod yeniden kullanımı ve çok biçimliliği mümkün kılar.

Alt sınıf tanımlama

```swift class Animal { var name: String init(name: String) { self.name = name } func speak() { print("...") } } class Dog: Animal { func fetch() { print("\(name) fetches!") } } let d = Dog(name: "Rex") d.speak() // "..." d.fetch() // "Rex fetches!" ```

super.init() — gerekli çağrı

```swift class Vehicle { var speed: Double init(speed: Double) { self.speed = speed } } class Car: Vehicle { var brand: String init(brand: String, speed: Double) { self.brand = brand super.init(speed: speed) // must call super } } ```

İki aşamalı başlatma

Swift'in iki aşamalı başlatma kuralları: 1. `super.init()` çağrılmadan *önce* alt sınıfa ait saklanan tüm özellikler ayarlanmalıdır 2. `super.init()` çağrısından sonra devralınan özellikleri özelleştirebilirsiniz Bu, başlatılmamış belleği kullanmanızı engeller.

Üst sınıf yöntemlerini çağırma

```swift class Shape { func draw() { print("Drawing shape") } } class Circle: Shape { override func draw() { super.draw() // call parent implementation print("Drawing circle") } } ```

Özellikleri Devralma

Alt sınıflar, üst sınıfın tüm özelliklerini devralır: ```swift class Person { var name: String = "" var age: Int = 0 } class Employee: Person { var company: String = "" } let e = Employee() e.name = "Alice" e.company = "Acme" ```

Belirlenmiş ve Kolaylık Başlatıcıları

• *Belirlenmiş* — tüm özellikleri tamamen başlatır; `super.init()` çağrısını yapar • *Kolaylık* — `self.init()` ile başka bir başlatıcıya yönlendirir ```swift convenience init(name: String) { self.init(name: name, age: 0) // delegates to designated } ```

Zorunlu Başlatıcı

Bir başlatıcıyı `required` olarak işaretleyerek tüm alt sınıfların bu başlatıcıyı uygulamasını zorunlu kılabilirsiniz: ```swift class Base { required init(id: Int) { ... } } class Sub: Base { required init(id: Int) { super.init(id: id) } } ``` Bir fabrika metodu örnekleri protokol üzerinden oluşturmak istediğinde sıkça kullanılır.

Sınıf Hiyerarşisi ve Tür

```swift let a: Animal = Dog(name:"Buddy") print(a is Dog) // true print(a is Animal) // true ``` Bir `Dog`, bir `Animal` türüdür — alt sınıf örnekleri, üst sınıf türü gereksinimlerini karşılar.

Tekli Kalıtım

Swift sınıfları yalnızca *tekli* kalıtımı destekler (bir üst sınıf). Ancak bir sınıf, birçok protokole uyabilir: ```swift class MyVC: UIViewController, UITableViewDelegate, UITableViewDataSource { } ``` Protokoller, Swift'te davranışın çoklu kalıtımını sağlayan mekanizmadır.

Hızlı Kontrol

Bir alt sınıfın belirlenmiş başlatıcısında `super.init()` çağrısını ne zaman yapmanız gerekir?

Özet

Temel noktalar: • `class Sub: Super` ile alt sınıf oluşturma • Kendi özelliklerinizi ayarladıktan sonra `super.init()` çağrısını yapma • İki aşamalı başlatma: önce kendi özellikleri, ardından üst sınıf • `super.method()` üst sınıfın uygulamasını çağırır • Swift'te tekli kalıtım vardır; birden çok davranış için protokolleri kullanın Sırada: geçersiz kılma, sonlandırma ve alt sınıf oluşturmayı engelleme.

Sıkça Sorulan Sorular

“Sınıf Kalıtımı ve super Anahtar Sözcüğü” dersi ücretsiz mi?

Evet — “Sınıf Kalıtımı ve super Anahtar Sözcüğü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 4 dersten oluşur.

“Sınıf Kalıtımı ve super Anahtar Sözcüğü” dersinde ne öğreneceğim?

Alt sınıflar oluşturmayı, super.init() çağırmayı ve üst sınıf davranışını genişletmeyi öğrenin. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Sınıf Kalıtımı ve super Anahtar Sözcüğü” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sınıf Kalıtımı ve super Anahtar Sözcüğü
  2. override, final ve Alt Sınıf Oluşturmayı Engelleme
  3. Tür Dönüştürme: is, as?, as! ve as
  4. Sonlandırıcılar ve Bellek Yaşam Döngüsü
← Swift Academy Sayfasına Dön