UML时序图如何绘制传递给另一个实例的实例

UML sequence diagram how to draw instance passed to another instance

使用 UMLPlant 学习 UML 序列图。 不知道我的图对不对,怎么画washingService.AddToWashingQueue(car);?

UML工厂代码

@startuml UML
Program -> Program : Main
Activate Program
create "washingService:WashingService"
Program -> "washingService:WashingService" : new
create "car:Car"
Program -> "car:Car" : new
Program -> "car:Car" : GetCarSerialNumber
Program -> "car:Car" : GetSpeed
@enduml


namespace ConsoleApp1
{
    interface IEngine
    {
        int GetSpeed();
    }

    public class Car : IEngine
    {
        public int GetSpeed()
        {
            return 42;
        }

        public string GetCarSerialNumber()
        {
            return "RT87J324";
        }
    }

    public class WashingService
    {
        private Queue<Car> queue = new Queue<Car>();

        public void AddToWashingQueue(Car car)
        {
            queue.Enqueue(car);
        }
    }

    class Program
    {
        public static void Main(string[] args)
        {
            WashingService washingService = new WashingService();
            Car car = new Car();
            var serialNumber = car.GetCarSerialNumber();
            var speed = ((IEngine)car).GetSpeed();
            washingService.AddToWashingQueue(car);
        }
    }
}

只需将消息 AddToWashingQueue(car) 发送到 washingService

所以

Program -> "washingService:WashingService" : AddToWashingQueue(car) 

@startuml
Program -> Program : Main
Activate Program
create "washingService:WashingService"
Program -> "washingService:WashingService" : new
create "car:Car"
Program -> "car:Car" : new
Program -> "car:Car" : GetCarSerialNumber
Program -> "car:Car" : GetSpeed
Program -> "washingService:WashingService" : AddToWashingQueue(car) 
@enduml