在“通过C#进行CLR”一书中,作者说 一个阶级必须保护自己的状态,并且永远不允许自己 变得腐败。打开类时,派生类可以访问和操纵 基类的状态,如果可以访问任何数据字段或内部操纵字段的方法 而不是私人的
我想知道这种情况的示例
答案 0 :(得分:0)
说,您有一个国际象棋人物的对象。它具有char和int的当前位置字段(例如H8或A2)。首先,不允许使用某些位置(例如Z90),或者由于图形类型(大象无法向前移动)而在下一移动中可能无法到达某些位置。因此,如果位置字段不是私有的,则祖先类可以直接修改它们并破坏逻辑/完整性。但是,如果将位置字段隐藏为私有字段,并且只允许通过Move(MoveType move)
之类的方法移动,那么这种数据损坏是不可能的。