Ruby ya da kamuya açık yöntem mi (kurucu)?Ruby class initialize (yapıcı) özel yöntem mi yoksa genel yöntem mi?
11
A
cevap
16
Bakalım:
class Test
def initialize; end
end
p Test.new.private_methods.sort.include?(:initialize)
Bu true
yazdırır, böylece initialize
özel bir yöntemdir. Bu mantıklıysa, nesne oluşturulduysa yalnızca new
sınıf yöntemiyle çağrılır. ancak basit değişken başlatma daha yaparsa sorunlara yol açabilecek böyle yapıcı kötüye kullanmasının
class Test
def initialize
@counter = 0
end
def reset!
initialize
end
end
: Biz istiyorsak, böyle bir şey yapabilir. Bir sınıftaki initialize
yöntemi, otomatik olarak Özel hale gelir.
4
kullanarak kontrol edebilirsiniz: `: (initialize)
puts ClassName.private_methods.sort
İlgili konular
- 1. Genel olmayan bir sınıftaki genel yöntem mi?
- 2. == Ruby'de özel bir yöntem mi?
- 3. ruby özel sınıf yöntem yardımcısı
- 4. Genel Deposu özel yöntem ekle
- 5. PermGen alanını mı yoksa kendi dahili yöntem mi kullanıyorsunuz?
- 6. Arabiriminde TypeScript Genel Yöntem İmzası
- 7. `# yerine` arasında initialize` :: new` Ruby
- 8. Genel türünde yöntem çağırma?
- 9. Tanımsız yöntem her Ruby
- 10. Alt sınıf tarafından belirtilmesi gereken veriler için soyut bir yöntem mi yoksa örnek değişken mi kullanmalıyım?
- 11. System.Reflection - Bir MethodInfo nesnesinin Yöntem mi yoksa Özellik erişimcisi mi olduğunu nasıl anlarım?
- 12. Çoklu kısıtlamalarla genel yöntem
- 13. Yöntem, Genel Sınıf
- 14. Netbeans'in proje görünümünde, bir sınıfın genel mi yoksa paket özel mi olduğunu göstermek mümkün mü?
- 15. Ruby to_json: yöntem argümanları
- 16. Bir yöntem zinciri LINQ olarak adlandırılabilir mi?
- 17. Prototip ve prototip olmayan bir yöntem mi?
- 18. ASP.NET kullanıcı denetiminde uyumsuz yöntem kullanılabilir mi?
- 19. System.TypeLoadException - Yöntem *** 'den *** türüne *** getirilsin mi?
- 20. Özel yöntem aramalarını izleme
- 21. RoR - NoMethodError: özel yöntem `open 'Gem için çağrıldı :: Paket: Class
- 22. initialize() ayarı için kısayol özniteliklere mi?
- 23. Önek mi yoksa boole değerlerine mi ait
- 24. x86 RISC mi yoksa CISC mi?
- 25. Başlıkları içeride mi yoksa vizeyle mi?
- 26. Tek satır 'var' bildirimleri mi, yoksa satır başına bir mi?
- 27. Fabrika genel yöntem özellikleri iste
- 28. Özel yöntemlerde yöntem Interceptor
- 29. Özel yöntem nasıl eklenir
- 30. Karşılaştırıcılar her seferinde mi, yoksa sadece bir kez mi uygulanmalıdır?
Ayrıca' obj.send 'tarafından bir nesnenin initialize' çağırabilir. –
@undur_gongor: Evet, bu herhangi bir özel yöntem için çalışıyor. –