Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed to Applicability

...

Code Block
bgColor#ccccff
abstract class Client implements User  {
  public abstract void freeService(); // Delegate implementation of new method to subclasses
  // Other concrete implementations
}

...

Applicability

Failing to publish stable, flaw-free interfaces can break the contracts of the implementing classes, pollute the client API, and possibly introduce security weaknesses in the implementing classes.

Guideline

Severity

Likelihood

Remediation Cost

Priority

Level

MSC64-JG

low

probable

high

P2

L3

Related Vulnerabilities

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

Bibliography

[Bloch 2008] Item 18: "Prefer interfaces to abstract classes"

...