-1
我有這個簡單的代碼:Class比OOP規則更喜歡它的私有成員?
public class A
{
int _private=3;
public A (B b)
{
b._private=5;
}
}
public class B:A
{
}
此代碼編譯
通過
OOP
- 在b
應該不到_private
提供接入。通過私有和
A
,A
知道_private
,但仍然通過b
進行訪問!
這是怎麼回事?
那麼,'B'是'A'的_type_,'A'可以訪問它自己的變量......你在做什麼是一個真正的代碼異味(使用繼承類型的基類)。 – Oded
@Oded:我不會說這種代碼味道 - 它是描述層次結構的常用模式,一個'Node'類有兩個子類'Parent'和'Leaf',其中每個'Node'使用'Parent'作爲其父節點的引用。 –
@ O.R.Mapper - 少數例外之一。 – Oded