diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 08:33:41 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-04-29 08:35:31 +0200 |
commit | 56362295799741bec6ffe5c7713dbc2f1ee86dd7 (patch) | |
tree | 539ebac0d4ff0cf8b90ce6f0ed5b87e53f85cb81 /src/com.example.portfolio3 | |
parent | 69d79b5eade0ef24f7b2ac4dcec2fffd13098c10 (diff) |
set methods final to avoid uncertain subclassing
Diffstat (limited to 'src/com.example.portfolio3')
5 files changed, 17 insertions, 17 deletions
diff --git a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java index dbd4aa8..054fa65 100644 --- a/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java +++ b/src/com.example.portfolio3/com/example/portfolio3/AbstractGraph.java @@ -21,7 +21,7 @@ public abstract class AbstractGraph implements Graph { /// foo /// @param s foo /// @return Vertex - public Vertex vertex(final String s) { + public final Vertex vertex(final String s) { if (vertexMap.containsKey(s)) { return vertexMap.get(s); } @@ -33,12 +33,12 @@ public abstract class AbstractGraph implements Graph { } /// foo - public void insertEdge(final String v, final String u, final int w) { + public final void insertEdge(final String v, final String u, final int w) { insertEdge(vertex(v), vertex(u), w); } /// foo - public Collection<Vertex> vertices() { + public final Collection<Vertex> vertices() { return vertexSet; } diff --git a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java index f90172e..f6e1130 100644 --- a/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java +++ b/src/com.example.portfolio3/com/example/portfolio3/AdjListGraph.java @@ -18,7 +18,7 @@ public class AdjListGraph extends AbstractGraph { private Map<Vertex,Set<Edge>> outEdge = new HashMap<>(); /// foo - public void insertEdge(final Vertex v1, final Vertex v2, final int w) { + public final void insertEdge(final Vertex v1, final Vertex v2, final int w) { Edge e = new Edge(v1, v2, w); if (!outEdge.containsKey(e.from())) { outEdge.put(e.from(), new HashSet<Edge>()); @@ -27,7 +27,7 @@ public class AdjListGraph extends AbstractGraph { } /// foo - public Collection<Edge> edges() { + public final Collection<Edge> edges() { Set<Edge> edges = new HashSet<>(); for (Vertex v: outEdge.keySet()) { edges.addAll(outEdge.get(v)); @@ -37,7 +37,7 @@ public class AdjListGraph extends AbstractGraph { } /// foo - public Collection<Edge> outEdge(final Vertex v) { + public final Collection<Edge> outEdge(final Vertex v) { if (!outEdge.containsKey(v)) { return new HashSet<Edge>(); } @@ -46,7 +46,7 @@ public class AdjListGraph extends AbstractGraph { } /// foo - public Integer getWeight(final Vertex v1, final Vertex v2) { + public final Integer getWeight(final Vertex v1, final Vertex v2) { // linear in number of outedges from vertices if (!outEdge.containsKey(v1)) { diff --git a/src/com.example.portfolio3/com/example/portfolio3/Edge.java b/src/com.example.portfolio3/com/example/portfolio3/Edge.java index 065b6ae..c4fa227 100644 --- a/src/com.example.portfolio3/com/example/portfolio3/Edge.java +++ b/src/com.example.portfolio3/com/example/portfolio3/Edge.java @@ -13,19 +13,19 @@ public class Edge { /// foo /// @return Vertex - public Vertex from() { + public final Vertex from() { return from; } /// foo /// @return Vertex - public Vertex to() { + public final Vertex to() { return to; } /// foo /// @return int - public int weight() { + public final int weight() { return weight; } @@ -41,7 +41,7 @@ public class Edge { /// foo /// @return String - public String toString() { + public final String toString() { return from.name() + " - " + weight + " -> " + to.name(); } } diff --git a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java index 67c095e..463bf8d 100644 --- a/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java +++ b/src/com.example.portfolio3/com/example/portfolio3/MatrixGraph.java @@ -51,12 +51,12 @@ public class MatrixGraph extends AbstractGraph { } /// foo - public void insertEdge(final Vertex v1, final Vertex v2, final int w) { + public final void insertEdge(final Vertex v1, final Vertex v2, final int w) { matrix[getIndex(v1)][getIndex(v2)] = w; } /// foo - public Collection<Edge> edges() { + public final Collection<Edge> edges() { HashSet<Edge> edges = new HashSet<>(); for (int i = 0; i < numVertex; i++) { for (int j = 0; j < numVertex; j++) { @@ -72,7 +72,7 @@ public class MatrixGraph extends AbstractGraph { } /// foo - public Collection<Edge> outEdge(final Vertex v1) { + public final Collection<Edge> outEdge(final Vertex v1) { HashSet<Edge> edges = new HashSet<>(); int i = vertex2index.get(v1); for (int j = 0; j < numVertex; j++) { @@ -87,7 +87,7 @@ public class MatrixGraph extends AbstractGraph { } /// foo - public Integer getWeight(final Vertex v1, final Vertex v2) { + public final Integer getWeight(final Vertex v1, final Vertex v2) { // constant time operation return matrix[vertex2index.get(v1)][vertex2index.get(v2)]; diff --git a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java index 420263a..979728c 100644 --- a/src/com.example.portfolio3/com/example/portfolio3/Vertex.java +++ b/src/com.example.portfolio3/com/example/portfolio3/Vertex.java @@ -11,7 +11,7 @@ public class Vertex { /// foo /// /// @return String - public String name() { + public final String name() { return name; } @@ -25,7 +25,7 @@ public class Vertex { /// foo /// /// @return String - public String toString() { + public final String toString() { return name; } } |