Edge.ts 488 B

12345678910111213141516171819202122
  1. import Vertex from "./Vertex.js";
  2. /**
  3. * Абстрактный класс, описывающий ребро в графе
  4. * @template V Тип вершин, соединённых ребром
  5. * @abstract
  6. */
  7. export default abstract class Edge<V extends Vertex> {
  8. private readonly _id: number;
  9. protected _v1: V;
  10. protected _v2: V;
  11. protected constructor(id: number, v1: V, v2: V) {
  12. this._id = id;
  13. this._v1 = v1;
  14. this._v2 = v2;
  15. }
  16. get id(): number {
  17. return this._id;
  18. }
  19. }