分类: Java
2011-02-08 19:04:44
1. EClass :类在ECore中处于中心位置。一个Eclass可以有多个EAttribute,和多个EReference。
2. EAttribute :每个EAttribute类都对应一个EDataType。
3. EDataType :类内置数据类型
4. EReference :每个EReference都有一个EClass。EAttribute和EReference的区别就在于类型不同。简单的说
EAttribute都是简单的内置数据类型,而EReference则必须是稍微复杂一点的类型(class)。
OO里定义一个类,往简单说,它可以有成员变量,有方法,可以继承,也可以被继承。
还有类之间的关系。这些足够了,再也没有其他的了,
比如什么override,overload,polymorphism这些都是关于方法的。所以这些都不用考虑。
所以一个类(EClass),它可以包含多个属性(EAttribute)和多个方法(EOperation),
同时又可以包含多个和其他类的关系(EReference)。
在一个类(Eclass)中通过eAttributes表示N个EAttribute,通过eReferences表示N个EReference。
通过eSuperTypes表示自己的超类。
EClass,EAttribute,EReference都继承于ENamedElement,所以他们都可以有name属性。
EAttribute实际上是一个Eclass的数据,从内存的角度看,是在一块内存上连续的数据。
通过eAttributeType表示类型。这个eAttributeType的类型是EDataType。
EDataType是简单类型,类似于Int,Byte等。EDataType也继承于ENamedElement,所以可以有name。
EReference被用于描述两个类之间的关系。它也可以有类型,即eReferenceType,这个eReferenceType
的类型是EClass。当然两个类之间是相互包含关系,那么需要两个EReference来描述这种关系。
简单的,一个类包含另一个类,那么就需要容器类里有一个EReference来描述这种关系。