51 lines
951 B
Plaintext
51 lines
951 B
Plaintext
include::../description.adoc[]
|
|
|
|
== Noncompliant Code Example
|
|
|
|
----
|
|
public class Fruit {
|
|
protected Season ripe;
|
|
protected Color flesh;
|
|
|
|
// ...
|
|
}
|
|
|
|
public class Raspberry extends Fruit {
|
|
private boolean ripe; // Noncompliant
|
|
private static Color FLESH; // Noncompliant
|
|
}
|
|
----
|
|
|
|
== Compliant Solution
|
|
|
|
----
|
|
public class Fruit {
|
|
protected Season ripe;
|
|
protected Color flesh;
|
|
|
|
// ...
|
|
}
|
|
|
|
public class Raspberry extends Fruit {
|
|
private boolean ripened;
|
|
private static Color FLESH_COLOR;
|
|
|
|
}
|
|
----
|
|
|
|
== Exceptions
|
|
|
|
This rule ignores same-name fields that are ``static`` in both the parent and child classes. This rule ignores ``private`` parent class fields, but in all other such cases, the child class field should be renamed.
|
|
|
|
----
|
|
public class Fruit {
|
|
private Season ripe;
|
|
// ...
|
|
}
|
|
|
|
public class Raspberry extends Fruit {
|
|
private Season ripe; // Compliant as parent field 'ripe' is anyway not visible from Raspberry
|
|
// ...
|
|
}
|
|
----
|