user69514
user69514

Reputation: 27629

Using abstract classes and Interfaces

If I have three classes

class A

class B extends A

class C extends A

Would using abstract classes or interfaces give me any type of errors or affect the way I implement the program?

Upvotes: 0

Views: 320

Answers (3)

jayraynet
jayraynet

Reputation: 906

Unless you need to share implementation, favor interfaces.

If you need to share implementation, think carefully if an abstract class is the right way to accomplish this.

Inheritance is a powerful tool, but can easily create an unmaintainable mess (I have been guilty here).

But to answer your question - no, there is nothing inherent in this setup that would cause an "error".

Upvotes: 4

Pete Kirkham
Pete Kirkham

Reputation: 49311

Yes. Abstract classes trade a shorter way of reusing implementation for the flexibility to provide multiple interfaces to the same object.

Unless you're playing code-golf, choosing the flexibility of interfaces is usually the better option.

Upvotes: 1

Tronic
Tronic

Reputation: 10430

You should generally prefer interfaces whenever you can. Java's lack of multiple inheritance quickly becomes a limiting factor if you use classes for that.

Upvotes: 1

Related Questions