2016-03-22 19 views
0

Örneğin, üç sınıfımız var.Bir sınıfın mirasını alan sınıfın yalnızca üyelerini gördüğü bir yol var mı? Her ikisi de aynı paket içinde

A sınıfı hangi A sınıfı uzanan bazı üyeler Sınıf B var ve biz ana sınıf var Ve aynı pakette hepsi vardır!

sınıf A'da sadece üyeler B sınıfı beacuse sınıf B erişebileceği anlamına herhangi bir şekilde sınıf A.

orada uzanır mı B sınıfı biz devralan üyelerini göremiyorum o zaman sınıf A'da özel üye kullanın.

Ancak A sınıfındaki genel üyeleri kullanırsak, hem ana hem de b sınıfları üyeleri görebilir.

+3

"Korunan" yı kullanın. –

+3

Git Erişim değiştiricileri hakkında okuyun (özel, korunan, genel) –

+0

Sorun şu ki, üç sınıfın hepsi aynı pakette olduğundan eminim. –

cevap

2

Sorununuzu anladığım kadarıyla, bunu yapamazsınız. Alanınızı protected tanımladığınız veya değiştirici kullanmıyorsanız, B sınıfınız ve Main sınıfınız her zaman alana erişebilir.

Buradaki basit çözüm, A sınıfınızı bir alt pakete taşımak ve alanı protected ilan etmek olacaktır. Bu şekilde sadece A alt sınıfları ve alt paketdeki sınıflar alana erişebilir.

+0

üyelerine erişmesi gerektiğini söylüyor Evet, bu benim sorunumdu. Yani cevap yapılamaz. Çok teşekkür ederim :) –

0

protected erişim değiştiricisini kullanın.

1

Kullanım

korumalı "korumalı" erişim değiştirici: Yalnızca geçerli sınıf ve bu sınıfın (bazen ve aynı paket sınıfları) alt sınıf alan ya da yönteme erişebilecektir.

+0

Sınıfların aynı pakette olduğunu belirtmeyi unutma. Sorumu şimdi düzenledim. –

0

A Sınıfı, B Sınıfı, Sınıfının Üstü Sınıfıdır. Sınıfı herhangi bir yerden, bu sınıf türünde bir nesne oluşturarak ve bunun yöntemlerinin herkese açık olup olmadığını öğrenebilirsiniz. eğer özel iseniz, sadece ne demek istediğini anlayamasanız da, sadece classe uygulamasından erişebilirsiniz. Kendinizi biraz daha iyi açıklayın.

Koruması, işlevlerinin üyeler için yayınlandığı bir sınıf türüdür. Aynı sınıfın türü ve diğer tüm sınıflar için özel.

+0

sadece çocuk sınıfının ana sınıfı –

İlgili konular