dynamic dispatch
-
java'da static methodlar haricinde tum methodlar dynamic dispatchkuralina gore cagrilir. c++'da ise virtualolarak belirtilmeyen tum methodlar static dispatch'e gore cagrilir. en kisa tanimiyla dynamic dispatch sunu soyler: "bir object'in bir methodu cagrilacaksa, o methodu aramaya object'in run-time typeindan baslayarak ara." static dispatch'de method object'in declared yani static type'indan baslanarak aranir. dikkat edilmesi gereken, dynamic type'in, inheritance hierarchy'de declared typetan daha asagilarda olabilecegi ve bu classta, declared type'ta tanimlanan methodlarin override edilmis olabilecegidir.
son olarak bir ornek daha. smalltalkta her method cagrimi dynamic'tir. (zaten bu harika dilimizde dynamic typing vardir, type declaration diye bir olay yoktur. type checking de runtime'da olur.) -
-
bu konuyu doğru anlamak için ayrica (bkz: this).
this ya da self "implicit reciever argument/parameter" argument olarak tanimlansa her şey aydınlanacak ve (bkz: dynamic dispatch) ya da (bkz: dynamic binding) ya da (bkz: late binding) yani (bkz: polymorphism) ile doğrudan ilişkili olduğu görülecek ve (bkz: adt) konusuna da değinerek oop anlatiliyorsa oop'nin adt'den fazlası olduğu görülecek.
oop dillerinde (bkz: polymorphism) ve özel bir türü (bkz: subtyping) (bkz: inheritance) nasıl gerçeklenir diye aratilirsa (bkz: satori)ye erişilebilir.
ekşi sözlük kullanıcılarıyla mesajlaşmak ve yazdıkları entry'leri
takip etmek için giriş yapmalısın.
hesabın var mı? giriş yap