我经常需要创建一个封装来保存实体的数组。假设我们有一个表示HTML表的类。
public class Tables
{
public Table[] Tables;
public Tables(){}
}
public class Table
{
public Header Header;
public Row Row;
public Footer Footer;
public Table(){}
}
在这里,我的Tables
封装了Table
的集合。我想调用我的Table [] Object Tables
,但这与我的Encapsulation冲突。对我来说,两者都代表一张桌子。我应该如何修复我的命名?
其次,我的表格包含一个页脚
//A Special type of Row in a Table
public class Footer: Row
{
}
我可以通过让我的会员降低来解决这个问题。虽然这违反了微软推荐的公共成员做法。
我可以在我的会员名字上添加一个Obj
......再一次,这不是一个好习惯。也许我正在查看我的OO封装错误。
答案 0 :(得分:3)
您的命名应尽可能具有描述性。你的Tables
类需要一个新类而不仅仅是一个数组的特性是什么?如果没有任何内容,那么只需使用数组,否则在名称中包含类的独特功能。
答案 1 :(得分:1)
“在这里,我的表格封装了一个表格集合。”
为什么不打电话给你的班级 - TableCollection?
答案 2 :(得分:0)
使用generics / templates /以您的语言调用它:
List<Table>
ArrayList<Table>
Collection<Table>
如果您需要在 集合类上使用自定义方法(即通过this
调用),那么您做错了。