答案:
1 包定义
1.1 UML方式:
a) 定义:
i. 图:
ii. 生成代码:
publicinte易做图ce StPackage extends EPackage {
String eNAME = "st";
String eNS_URI = "http://st";
String eNS_PREFIX = "st";
…
}
1.2 Java方式:
a) 定义:
i. 代码:
public inte易做图ce stPackage {
public String eName = "st";
public String eNS_URI = "http://st";
public String eNS_PREFIX = "st";
}
说明:inte易做图ce声明中不能带“@model”标记,接口名称要以“Package”结尾。接
口可以声明以下三个字段eName,eNS_URI,eNS_PREFIX。
1.3 XML方式
a) 定义:
i. 代码:
<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema
targetNamespace=http://st
xmlns:st="http://st">
</xsd:schema>
说明:nsURI的值由targeNamespace指定。nsPrefix的值由targetNamespace导出。
name是targetNamespace的最后一段。
2 类定义
2.1 UML方式
a) 定义:
i. 图:
ii. 生成代码:
public class TeacherImpl extendsEObjectImpl implements Teacher {
…
}
b) 接口:
i. 说明:如果把类的stereotype设置为<<inte易做图ce>>,则EMF将使生成的EClass的inte易做图ce字段设为true,但在EMF 2.1.0的测试版中,EMF并不能识别出这个<<inte易做图ce>>类型。
c) 抽象类:
i. 图:
ii. 生成代码:
public abstract class TeacherImplextends EObjectImpl implements Teacher {
…
}
d) 单继承:
i. 图:
ii. 生成代码:
public class JavaTeacherImpl extendsTeacherImpl implements JavaTeacher {
…
}
e) 多继承
i. 图:
ii. 生成代码:
public inte易做图ce JavaTeacher extendsTeacher, Nothing, Java {
}
public class JavaTeacherImpl extendsTeacherImpl implements JavaTeacher {
…
}
2.2 Java方式:
a) 定义:
i. 代码:
/**
* @model
*/
public inte易做图ceStudent{}
说明:需要使用“@model”标记。
b) 接口:
i. 代码:
/
上一个:虚拟机概论(二)——译者序
下一个:虚拟机概论(一)——封面