Java基础(复习三) —— 类图例子

这篇博客介绍了Java类图的概念,包括泛化、实现、聚合、组合、关联和依赖等关系,并通过代码示例进行详细解释,如Car和Bike继承Vehicle,CarEngine和BikeEngine实现Engine接口等。文章还展示了如何使用IDEA生成类图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java基础(复习三) —— 类图例子

上一篇blog记录了一些类图关系的基本概念,之后一直想添加些代码生产类图的例子奈何之后如此不如意下一篇在说。下面例子的目的是简单展示类之间的关系。

上代码:

package com.energy8.sample.uml;

public interface Engine {
	
	public void start();

}
package com.energy8.sample.uml;

public class CarEngine implements Engine {

	@Override
	public void start() {
        System.out.println("Car Engine started");
    }

}
package com.energy8.sample.uml;

public class BikeEngine implements Engine {

	@Override
	public void start() {
        System.out.println("Bike Engine started");
    }

}
package com.energy8.sample.uml;

public class Vehicle {
	Engine engine;

    public Vehicle(Engine engine) {
        this.engine = engine;
    }

    public void startEngine() {
        engine.start();
    }

}
package com.energy8.sample.uml;

public class Car extends Vehicle {

	public Car(Engine engine) {
		super(engine);
		// TODO Auto-generated constructor stub
	}

}
package com.energy8.sample.uml;

public class Bike extends Vehicle {

	public Bike(Engine engine) {
		super(engine);
		// TODO Auto-generated constructor stub
	}

}

这个例子展示了以下关系:

● 泛化(Generalization):Car和Bike继承自Vehicle

● 实现(Realization):CarEngine和BikeEngine实现Engine接口

● 聚合(Aggregation):Garage有一个vehicles列表,存储了多个Vehicle对象

● 组合(Composition):Vehicle拥有一个Engine对象,形成组合关系

● 关联(Association):Vehicle类中有一个指向Engine类的引用

● 依赖(Dependence):Vehicle类依赖于Engine接口,以调用start方法。

生成类图(由IDEA生成):

加了一些个人的理解:

其它情况

修改一下Car 和 Bike的代码:

package com.energy8.uml.sample;

public class Car extends Vehicle {

//	public Car(Engine engine) {
//		super(engine);
//		// TODO Auto-generated constructor stub
//		System.out.println("test");
//	}

	public Car(CarEngine engine){
		super(engine);
	}

}
package com.energy8.uml.sample;

public class Bike extends Vehicle {

	public Bike(BikeEngine engine) {
		super(engine);
		// TODO Auto-generated constructor stub
	}

}

重新生成类图:

Car 和 Bike 对Engine的依赖关系改变了。


本文只是个人(EnergyNo8)学习笔记如有错误请网友指出。
如有引用或转载请标明出处!
努力、坚持,总会有收获!
______ EnergyNo8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

能量老8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值