{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "id": "8a843b261bf541f1b",
      "type": "rectangle",
      "x": 300,
      "y": 50,
      "width": 180,
      "height": 140,
      "angle": 0,
      "strokeColor": "#1971c2",
      "backgroundColor": "#d0ebff",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 847950860,
      "version": 1,
      "versionNonce": 1079382705,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": {
        "type": 3
      }
    },
    {
      "id": "36d7d4ae8c294d339",
      "type": "text",
      "x": 300,
      "y": 26.4,
      "width": 180,
      "height": 194.4,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1715159027,
      "version": 1,
      "versionNonce": 1203927309,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 18,
      "fontFamily": 1,
      "text": "Vehicle\n---\n- make: string\n- model: string\n- year: int\n---\n+ start()\n+ stop()",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Vehicle\n---\n- make: string\n- model: string\n- year: int\n---\n+ start()\n+ stop()",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 14.76
    },
    {
      "id": "4d746e38b4a847b88",
      "type": "rectangle",
      "x": 150,
      "y": 280,
      "width": 180,
      "height": 120,
      "angle": 0,
      "strokeColor": "#0c8599",
      "backgroundColor": "#c5f6fa",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1523052869,
      "version": 1,
      "versionNonce": 102569068,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": {
        "type": 3
      }
    },
    {
      "id": "147be3ba792a45959",
      "type": "text",
      "x": 150,
      "y": 270.70000000000005,
      "width": 180,
      "height": 145.8,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 104825206,
      "version": 1,
      "versionNonce": 1849958594,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 18,
      "fontFamily": 1,
      "text": "Car\n---\n- numDoors: int\n- trunk_capacity: float\n---\n(inherits Vehicle)",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Car\n---\n- numDoors: int\n- trunk_capacity: float\n---\n(inherits Vehicle)",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 14.76
    },
    {
      "id": "d755f6bae1f542b99",
      "type": "rectangle",
      "x": 450,
      "y": 280,
      "width": 180,
      "height": 100,
      "angle": 0,
      "strokeColor": "#0c8599",
      "backgroundColor": "#c5f6fa",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1738924149,
      "version": 1,
      "versionNonce": 1509122953,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": {
        "type": 3
      }
    },
    {
      "id": "06281300f23b4245b",
      "type": "text",
      "x": 450,
      "y": 272.85,
      "width": 180,
      "height": 121.50000000000001,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 643091351,
      "version": 1,
      "versionNonce": 250942009,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 18,
      "fontFamily": 1,
      "text": "Motorcycle\n---\n- hasSidecar: bool\n---\n(inherits Vehicle)",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Motorcycle\n---\n- hasSidecar: bool\n---\n(inherits Vehicle)",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 14.76
    },
    {
      "id": "41ded92610d54516a",
      "type": "rectangle",
      "x": 50,
      "y": 50,
      "width": 160,
      "height": 110,
      "angle": 0,
      "strokeColor": "#2f9e44",
      "backgroundColor": "#d3f9d8",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 940754563,
      "version": 1,
      "versionNonce": 1941530348,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": {
        "type": 3
      }
    },
    {
      "id": "5a0cbe05650d48ada",
      "type": "text",
      "x": 50,
      "y": 35.699999999999996,
      "width": 160,
      "height": 145.8,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1501304517,
      "version": 1,
      "versionNonce": 1831720586,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 18,
      "fontFamily": 1,
      "text": "Engine\n---\n- horsepower: int\n- cylinders: int\n---\n+ ignite()",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Engine\n---\n- horsepower: int\n- cylinders: int\n---\n+ ignite()",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 14.76
    },
    {
      "id": "6b2040db13ac4e919",
      "type": "arrow",
      "x": 240.0,
      "y": 280,
      "width": 150.0,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1354527742,
      "version": 1,
      "versionNonce": 282826662,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          -45.0
        ],
        [
          150.0,
          -45.0
        ],
        [
          150.0,
          -90
        ]
      ],
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": true,
      "fixedSegments": null,
      "startIsSpecial": null,
      "endIsSpecial": null
    },
    {
      "id": "40c2f4bae5674e8b9",
      "type": "arrow",
      "x": 540.0,
      "y": 280,
      "width": 150.0,
      "height": 90,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 129708305,
      "version": 1,
      "versionNonce": 1495721560,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "points": [
        [
          0,
          0
        ],
        [
          0,
          -45.0
        ],
        [
          -150.0,
          -45.0
        ],
        [
          -150.0,
          -90
        ]
      ],
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": true,
      "fixedSegments": null,
      "startIsSpecial": null,
      "endIsSpecial": null
    },
    {
      "id": "2a48a34c32544595b",
      "type": "arrow",
      "x": 300,
      "y": 120.0,
      "width": 90,
      "height": 15.0,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 506198904,
      "version": 1,
      "versionNonce": 883096461,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": {
        "type": 3
      },
      "points": [
        [
          0,
          0
        ],
        [
          -90,
          -15.0
        ]
      ],
      "startBinding": null,
      "endBinding": null,
      "startArrowhead": null,
      "endArrowhead": "arrow",
      "elbowed": false
    },
    {
      "id": "12ac6c72de61416d8",
      "type": "text",
      "x": 255.0,
      "y": 92.5,
      "width": 42.0,
      "height": 18.900000000000002,
      "angle": 0,
      "strokeColor": "#1e1e1e",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1869873954,
      "version": 1,
      "versionNonce": 360558396,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 14,
      "fontFamily": 1,
      "text": "has-a",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "has-a",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 11.479999999999999
    },
    {
      "id": "c822d24e56f648178",
      "type": "text",
      "x": 600,
      "y": 50,
      "width": 226.79999999999998,
      "height": 56.7,
      "angle": 0,
      "strokeColor": "#868e96",
      "backgroundColor": "transparent",
      "fillStyle": "solid",
      "strokeWidth": 2,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "seed": 1915431190,
      "version": 1,
      "versionNonce": 1514612990,
      "index": null,
      "isDeleted": false,
      "groupIds": [],
      "frameId": null,
      "boundElements": null,
      "updated": 1,
      "link": null,
      "locked": false,
      "roundness": null,
      "fontSize": 14,
      "fontFamily": 1,
      "text": "Legend:\nSolid arrow = Inheritance\nLabeled arrow = Composition",
      "textAlign": "center",
      "verticalAlign": "top",
      "containerId": null,
      "originalText": "Legend:\nSolid arrow = Inheritance\nLabeled arrow = Composition",
      "autoResize": true,
      "lineHeight": 1.25,
      "baseline": 11.479999999999999
    }
  ],
  "appState": {
    "gridSize": 20,
    "gridStep": 5,
    "gridModeEnabled": false,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}