实例变量可以属于多个类吗?

时间:2015-05-29 18:12:21

标签: oop

我一直在寻找OOP课程,并对这是如何工作感到好奇。

例如,假设我有一个产品。该产品是一辆自行车。

产品库存可以有一个类,产品详细信息可以有类别,例如颜色等。

我可以在彼此之间使用类,例如名为product的类,并且在其中包含产品的库存和详细信息(自行车)

或者我可以有一个名为bike的实例,由

组成

e.g。

股票自行车=新股票(); 详情bike = new details();

或者必须为他们重命名实例自行车,例如

股票Stockbike =新股票(); 详情detailsbike =新细节();

希望这是有道理的。基本上我只是想知道一个实例关键字是否属于2个类,或者是否必须更改自行车中的实例名称,因此它可以属于更多类。

由于

2 个答案:

答案 0 :(得分:1)

Stock bike = new Stock(); details bike = new details();

不太确定你在问什么...但我认为你问的是,你是否可以拥有2个具有相同名称和相同范围的变量。一般来说,没有。你没有提到你的语言,但我们假设是Java。

public void test() {
   String test = "123";
   String test = "123";  // Error
   Integer test = 123;  // Also an error

   Stock bike = new Stock();
   Details bike = new Details();  // Error
}

您可能具有相同名称的一种情况......虽然不鼓励......是具有相同名称的本地变量,并且键入更高范围的变量

public class Test {
   private String myString;

   ...

   public void test() {
       String myString = "123";  // Warning and discouraged
    }
}

答案 1 :(得分:0)

我不认为有一个OOP规则描述了这一点。

在某些语言中,您可以拥有多重继承。所以你可以拥有一个继承Stock和Details的类Bike。在你定义了这个类之后,你可以从中创建一个普通的实例。

阅读材料:Wikipedia on Multiple inheritance。还描述了以这种或那种方式实现此目的的语言。