1、思考,對於C++,能不能在外部調用私有方法?
2、在Java中,子類繼承不能縮小父類成員的訪問權限。因為在Java中,繼承只是表示Is-A關系,因此,父類提供的接口,子類必須承諾仍然提供,不能縮小訪問權限,但是可以放大權限。
3、在C++中,繼承不光表示Is-A關系,還可以表示根據某物實現出。因此,在C++中,子類可以放大或者縮小父類成員的訪問權限。考慮,如果父類提供public virtual方法,子類重寫為private virtual方法,我們知道,重寫只不過是,子類整體拷貝父類的虛方法表,對於重寫的方法偷梁換柱,替換為重寫后的方法。在這種情況下,父類指針指向子類對象,父類指針通過調用public virtual方法,動態綁定到子類的private virtual方法。