2012-08-29 63 views
1

一个班级的孩子和一个班级的实例有什么区别?两者似乎都从他们的“父母”继承代码。一个类的一个实例是否被执行的代码与一个类的子类仅仅是创建额外的实例有什么不同?一个班级的孩子和一个班级的实例之间的区别?

+0

一个班级的孩子是班级。一个类的实例是一个对象。他们是根本不同的东西... – fgp

回答

3

一个类只不过是一个定义,一个模板,一个模式。该类的一个实例是该定义的一个副本,该副本已分配了用于保存其数据的内存空间。这就像说蛋糕是蛋糕配方的一个例子。

一个类的孩子字面意思是 - 父类形成一个基本定义,然后孩子扩展或增强。这是父母的变化,就像巧克力蛋糕是一种变体(或延伸)基本的蛋糕食谱。

请注意,对OO概念的这种非常简单的解释隐藏了这些东西是如何在机器级别实际实现的。一个类可以包含方法(操作) - 这些方法只保留一个副本,实例化类的新实例不会创建方法的全新副本。相反,内存空间被分配给新的实例,并且指针将被用来指向每个方法应该实现的实际代码。尽管每个实例都有自己的数据副本(属性)。

+0

+1哈哈!我喜欢!蛋糕确实是蛋糕食谱的一个实例,巧克力蛋糕确实解释了遗传。 –

0

例如用PHP:

class A { 
    //... 
} 

class B extends A { 
    //... 
} 
$a = new A(); 

我们说BA孩子,$aA一个实例。

相关问题