2015-01-14 21 views
5

Javaveda göreceli olarak yeniyim ve bazı kalıtım yapıyorum. Prototipin ne olduğunu bildiğimi sandım ama sonra uber yöntemiyle tanıştım. Şimdi bu ikisi arasındaki farkı bilmiyorum. Uber'in java'da süper olduğunu biliyorum ve hepsi bu. Ama sonra prototip beni rahatsız eden bir şey. Eğer bu ikisini kullanmanın basit bir örneğini verebilirsen, bunu çok takdir ederim.Uber ve prototip arasındaki Javascript farkı

+2

Bildiğim kadarıyla, bu yöntemi nesnelere ekleyen bir kütüphane kullanmıyorsanız JavaScript'te 'uber' yöntemi yoktur. Bir kütüphaneyi herhangi bir şansla kullanıyor musunuz? –

+0

Ben bir kullanıyorum. İçinde tanımlanmış olabilir. Ama yine de, uber'in ne olduğunu bildiğime dair farkı bilmiyorum. Bu sadece bir ebeveynin nesnesi – anicicn

+1

için bir işaretçi, Douglas Crockford'un miras öğreticilerinde kullandığı "uber" yöntemi hakkında bir cevap ekledim. En popüler örnek gibi görünüyor. Uber'i tam olarak nerede keşfettin? –

cevap

11

uber JavaScripts prototypal devralma çok esnek doğası ile çalışırken devoloper yardımcı olmalıdır Douglas Crockford JavaScript miras onun örneklerde oluşturulan sadece şeker yöntemdir.

Bu yöntem yerel JavaScript'te bulunmamaktadır.

O toz şeker onu ayrıntılı here kullandığı yöntemlerini açıklar. Onun örneklerde


o bir yöntemin ana uygulama erişmek için bir yardımcı yöntem olarak uber yöntemi tanımlar.

Bir "sınıf" (bu terimi örneğin örneği kolaylaştırmak için kullanırım; JavaScript'te sınıflar yoktur) Human'un bir walk yöntemine sahip olduğunu varsayalım. Bu sınıfı bir Infant sınıfında "genişletirseniz", walk'un üzerine yazabilirsiniz, böylece bebek yalnızca yürüyemediği için tarar.

Açıkçası pek iyi bir örnek değil ama umarım bu noktayı alırsınız.

Böyle bir durumda Infant "sınıf" walk arasında Human uygulanmasını erişmek için Douglas Crockfords uber yöntemi kullanabilirsiniz. Her iki tamamen farklı amaçlara hizmet beri


, hiçbir mantıklı olur JavaScript'ler yerli prototype nesne ve Douglas Crockfords uber yöntemini karşılaştırmak.

JavaScripts prototype hakkında daha fazla bilgi için this question'a bakabilirsiniz.

İlgili konular