【发布时间】:2014-06-24 16:04:39
【问题描述】:
我有一个上下文类->prototype.context->应用程序可以创建对象,但不能扩展。然而,系统开发人员可以将类扩展到更多类型。系统类的包是prototype.system 和prototype.dbengine。这些类应该可以完全访问上下文对象,但其他类不应该。
如果我将上下文类中的字段保留为包访问,这些类将无法访问它,因为它们来自不同的包。那么我应该如何命名这些包,以便其他开发人员可以使用这些类,并且还可以完全访问系统类?
【问题讨论】:
-
访问与名字无关。
-
包访问基于包名,对吧?
-
更多类似问题的信息:stackoverflow.com/questions/18494938/…
-
A) 更喜欢组合而不是继承。您可能应该让所有类独立并委托给另一个类,而不是在最微不足道的情况下继承。不过,它们都应该实现相同的接口。您将在以前将父/基类作为参数的方法中使用此接口。 B) 为什么要阻止您的用户扩展您的课程?这是一种让人们认为 OO 不好的决定——因为有人武断地(通常是故意地)限制了他们的灵活性。
-
继承是设计中非常重要的一部分,因为它允许创建更多形式的基类类型。我不能限制或阻止或不喜欢继承,因为这不是我想要设计的
标签: java class oop design-patterns packages