0Pricing
Go Academy · Ders

Yöntem Yükseltme

Gömme yoluyla yöntemleri devralın

Yöntem Yükseltme, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. 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, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.

Gömme Yoluyla Yöntem Kalıtımı

Bir türü gömdüğünüzde onun yöntemleri de yükseltilir. Dış tür, bu yöntemleri sanki kendisi tanımlamış gibi çağırabilir; bu, Go'nun kalıtım biçimidir.

Yükseltilmiş Bir Yöntem

Car, Engine'i gömer ve onun Start yöntemini ek bir işlem yapmadan kazanır.

package main

import "fmt"

type Engine struct{}

func (Engine) Start() { fmt.Println("engine started") }

type Car struct{ Engine }

func main() {
	c := Car{}
	c.Start()
}

Yöntemler Gömülü Değer Üzerinde Çalışır

Yükseltilmiş bir yöntem gömülü alan üzerinde çalışır; dış yapı üzerinde değil. Dış yapının diğer alanlarını göremez.

package main

import "fmt"

type Counter struct{ n int }

func (c *Counter) Inc() { c.n++ }
func (c Counter) Get() int { return c.n }

type Widget struct{ Counter }

func main() {
	w := Widget{}
	w.Inc()
	w.Inc()
	fmt.Println(w.Get())
}

Bir Yöntemi Geçersiz Kılma

Yükseltilmiş yöntemi geçersiz kılmak için dış yapıda aynı ada sahip bir yöntem tanımlayın. Dış yapıdaki yöntem önceliklidir.

package main

import "fmt"

type Animal struct{}

func (Animal) Speak() string { return "..." }

type Dog struct{ Animal }

func (Dog) Speak() string { return "Woof" }

func main() {
	fmt.Println(Dog{}.Speak())
}

Gömülü Sürümü Çağırma

Geçersiz kıldıktan sonra bile özgün yönteme gömülü tür adını kullanarak erişebilirsiniz.

package main

import "fmt"

type Animal struct{}

func (Animal) Speak() string { return "generic" }

type Dog struct{ Animal }

func (d Dog) Speak() string { return "Woof + " + d.Animal.Speak() }

func main() {
	fmt.Println(Dog{}.Speak())
}

Yükseltme ve Arayüzler

Yükseltilmiş yöntemler dış türün yöntem kümesinin parçası olduğundan, dış tür gömülü türün yöntemlerini kullanarak arayüzleri karşılayabilir.

package main

import "fmt"

type Stringer interface{ String() string }
type Base struct{ name string }

func (b Base) String() string { return b.name }

type Wrapper struct{ Base }

func main() {
	var s Stringer = Wrapper{Base{"hi"}}
	fmt.Println(s.String())
}

İşaretçi ve Değer Yöntem Kümeleri

Gömülü türde işaretçi alıcılı yöntemler varsa, bu yöntemler yalnızca dış yapıya işaret eden bir işaretçinin (veya adreslenebilir bir değerin) yöntem kümesine yükseltilir.

Varsayılan Davranış için Gömme

Makul varsayılan yöntemler sağlayan bir türü gömün; ardından özelleştirmeniz gereken yalnızca birkaç yöntemi geçersiz kılın. Bu, güçlü bir yeniden kullanım düzenidir.

package main

import "fmt"

type DefaultHandler struct{}

func (DefaultHandler) Handle() string { return "default" }

type CustomHandler struct{ DefaultHandler }

func (CustomHandler) Handle() string { return "custom" }

func main() {
	fmt.Println(CustomHandler{}.Handle())
}

Gerçek Çok Biçimlilik Yok

Klasik OOP'nin aksine, gömülü yöntem dış yapının geçersiz kıldığı yönteme geri yönlendirilmez. Go'da gömme yoluyla sanal yöntem yönlendirmesi yoktur.

Birden Çok Düzeyde Yükseltme

Yöntemler geçişli olarak yükseltilir: A, B'yi ve B, C'yi gömüyorsa A da belirsizlik olmadığı sürece C'nin yöntemlerini kazanır.

Yükseltme Ne Zaman Yararlıdır

  • Davranışı yeniden yazmadan yeniden kullanmak
  • Geçersiz kılabileceğiniz varsayılanlar sağlamak
  • Gömülü yöntemler aracılığıyla arayüzleri karşılamak

Hızlı Kontrol

Yöntem yükseltme bilginizi sınayın.

Özet

Yöntem yükseltmeyi öğrendiniz.

  • Gömülü yöntemler dış türe yükseltilir
  • Dış yapıdaki yöntemler yükseltilenleri geçersiz kılar
  • Özgün yönteme gömülü tür adını kullanarak erişin
  • Yükseltme arayüzleri karşılamaya yardımcı olur; ancak sanal yönlendirme yoktur

Sıkça Sorulan Sorular

“Yöntem Yükseltme” dersi ücretsiz mi?

Evet — “Yöntem Yükseltme” 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 Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.

“Yöntem Yükseltme” dersinde ne öğreneceğim?

Gömme yoluyla yöntemleri devralın Go 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.

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

Önceden deneyim gerekmez. CoddyKit'te Go 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 3. dersidir.

“Yöntem Yükseltme” 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 Go Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Go 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. Struct Gömme
  2. Arayüz Gömme
  3. Yöntem Yükseltme
  4. Kalıtım Yerine Birleştirme
← Go Academy Sayfasına Dön