如何防止代码创建基类的实例?

时间:2011-03-28 08:54:59

标签: oop language-agnostic inheritance

假设我创建了从Circle类继承的TriangleShape类。我的问题是如何阻止代码创建Shape类的实例?

4 个答案:

答案 0 :(得分:4)

使Shape类抽象。这意味着它是一个未完成的类,作为提供附加功能的其他类的基础。

例如,如果您有加载数据的服务器类,则可以使用抽象类 DataLoader 和具体类 DatabaseLoader XmlLoader 。 ..

答案 1 :(得分:1)

赋予Shape一个受保护的构造函数。 Circle和Triangle仍然可以从他们自己的构造函数中调用它们。但其他人不能。

Dante Jinag是Java的权利,我假设是C ++

答案 2 :(得分:1)

您可以将Shape类设为 abstract

public abstract class Shape {

//your code

}

答案 3 :(得分:0)

您正在使用哪种编程语言?

通常,对象创建是成员的内存分配和构造函数的调用。如果您的Shape类没有成员 - 则不会分配内存。如果它有空构造函数 - 在这一步也不会发生任何事情。