推荐使用ModelGoon!*ModelGoon是什么?它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用)。*适用条件ModelGoon目前最新的版本是3.0.0,适用于Eclipse3.4+,包括最新的
成都创新互联公司专注于网站建设|企业网站维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖汽车玻璃修复等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。
参考如下内容:
Rational Software Architect 7.0 版本
识别一个 UML 类图的继承树
继承关系是一种普遍的对象型的模式。它允许一组类共享共同的状态和行为,从而子类可以从父类那里继承共同的状态和行为。从一个已存在系统中发现整个的继承树结构是相当有用的,因为它能向您揭露在树中什么是顶级类以及什么是子类。而且,您可以识别一个继承树中有哪些共同状态及行为,以及这些共同行为怎样起作用。您可以在探索过程中以以下三种方式使用 Rational Software Architect。
从一个工作场所或工作集中发现其抽象结构
从抽象结构表中选择一个类从而显示其抽象类图
在一个浏览表中研究树状结构,您会发现显示在 Abstraction之下的一系列抽象类。
第一步是在一个已存在系统中自动得到其顶级类。这样您就能使用这些类作为切入点以研究继承树中的类。您可以按以下步骤来完成此项。
打开 Rational Software Architect 中 Diagram Navigation视图。
在 Object-oriented Pattern下,右键点击 Abstraction,然后点击 Discover Architecture
uml类图你看下吧,这是个抽象类AbstractStudentManager 类名字
抽象方法是最后两个方法,其他事公有方法,()前的名字是方法名,返回类型是:号右边的
你只要把方法写出就行了;如:public abstract class AbstractStudentManager {
public String viewExamTime(){
//TODO
return null;
}
public String view2(){
//TODO
return null;
}
public String view3(){
//TODO
return null;
}
public void down(){
//TODO
return;
}
public void upate(){
//TODO
return;
}
public void print(){
//TODO
return;
}
public abstract void printMsg();
public abstract Student getStudentById(int id);
}
package com.test;
public class Duck extends Animal {
private String name;
public String getName() {
return name;
}
public void shout() {
System.out.println("嘎嘎嘎……");
}
public Duck(String name) {
super();
this.name = name;
}
}
package com.test;
public class Cat extends Animal {
private String name;
public void shout() {
System.out.println("喵喵喵……");
}
public Cat(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
}
package com.test;
public class Dolphin extends Animal {
private String name;
public Dolphin(String name) {
super();
this.name = name;
}
public void shout() {
System.out.println("海豚音……");
}
public String getName() {
return name;
}
}
package com.test;
public abstract class Animal implements Bark{
}
package com.test;
public interface Bark {
void shout();
}
package com.test;
public class Test {
public static void main(String[] args) {
System.out.println("动物名\t动物叫");
// 多态体现
Animal duck = new Duck("唐老鸭");
System.out.print(((Duck) duck).getName() + "\t");
duck.shout();
Animal cat = new Cat("加菲猫");
System.out.print(((Cat) cat).getName() + "\t");
cat.shout();
Animal dolphin = new Dolphin("海豚奇奇");
System.out.print(((Dolphin) dolphin).getName() + "\t");
dolphin.shout();
System.out.println("\n动物名\t腿的条数\t动物叫");
Animal[] animals = new Animal[3];
animals[0] = duck;
animals[1] = cat;
animals[2] = dolphin;
for (Animal animal : animals) {
if (animal instanceof Duck) {
System.out.print(((Duck) animal).getName() + "\t2\t");
animal.shout();
} else if (animal instanceof Cat) {
System.out.print(((Cat) animal).getName() + "\t4\t");
animal.shout();
} else {
System.out.print(((Dolphin) animal).getName() + "\t4\t");
animal.shout();
}
}
}
}
简单写了下