每个对象都提供服务
被隐藏的具体实现