Özel vs Korumalı Görünürlük İyi Uygulama Endişe
Aradım ve teorik farkı biliyorum.
- kamu- Herhangi bir sınıf/işlevi yöntem/özellik erişebilir.
- korumalı- Bu sınıf ve alt sınıfları tek yöntem/özellik erişebilir.
- özel- Sadece bu sınıf yöntem/özellik erişebilir. Hatta kalıtsal olmayacak.
Hepsi güzel ve asıl soru, ne olurpratikaralarındaki fark nedir? private
ve protected
kullanmak istiyorsunuz? Bu standart veya kabul edilebilir iyi bir uygulama var mı?
Kadar şimdi, aracımı kavramı kalıtım ve polimorfizmi, ben kullanmak public
için bir şey olmalı erişilen dışarıdan (gibi kurucular ve ana sınıfı işlevselliği) ve protected
için iç yöntemleri (mantık, yardımcı yöntemler vb). Doğru yolda mıyım?
(Böyle bir soru görmedim bu sorunun ileride benim için, ama aynı zamanda ÇOK dikkat edin).
CEVAP
Hayır, doğru yolda değilsin. Başparmak iyi bir kural: her şey mümkün olduğunca özel yapmak. Bu sınıf daha çok kapsüllü yapar ve kodu sınıfı kullanarak etkilemeden sınıf iç değiştirmek için olanak sağlar.
Eğer tasarım sınıfı olmak kalıt, sonra dikkatli seç ne olabilir geçersiz ve erişilebilen alt ve korumalı (ve son, konuşma, Java, eğer yapmak istersen erişilebilir ama geçersiz kılınabilir). Ama unutmayın, sizi en kısa sürede kabul etmek zorunda alt sınıf, ve bir korumalı alan veya yöntem, bu alan veya yöntem bir parçası olan kamu API sınıfı ve olmayabilir değişti geç olmadan kırma alt sınıflar.
Kalıtsal olarak tasarlanmamıştır bir sınıf final (Java) yapılmalıdır. Belki biraz dinlenmek erişim kuralları (özel korumalı, son olmayan son) uğruna ünite-test, ama daha sonra belge ve açıkça buna rağmen yöntemdir korumalı, değil olacaktı geçersiz.
Android: tüm uygulama için özel yazı t...
Genel olarak bir WPF uygulama özel dur...
Nasıl bir özel ev ekranında Android iç...
'kamu, varsayılan olarak korumalı...
Planlanan " anlamı, özel korumalı&...