K
KevinSimonson
I have a method that needs to be able to return either of two very
different types of data, in one case a class consisting of a two-
dimensional array of <int>s accompanied by a single <byte> value, and
in the other case just a one-dimensional array of <int>s and that's
all. So I created an abstract class called <SearchResult> that has no
members, not even any constructors, and made two classes extend
<SearchResult>, the one class having the two-dimensional array and the
<byte> value, and the other having the one-dimensional array. Then I
have my method return a value of <SearchResult>.
My question is, in a situation like this where there are absolutely no
variables or methods the two classes have in common, is it better to
have an abstract class that both classes extend, or is it better to
have an interface that both classes implement? Or is there any
difference between the two approaches?
Kevin Simonson
different types of data, in one case a class consisting of a two-
dimensional array of <int>s accompanied by a single <byte> value, and
in the other case just a one-dimensional array of <int>s and that's
all. So I created an abstract class called <SearchResult> that has no
members, not even any constructors, and made two classes extend
<SearchResult>, the one class having the two-dimensional array and the
<byte> value, and the other having the one-dimensional array. Then I
have my method return a value of <SearchResult>.
My question is, in a situation like this where there are absolutely no
variables or methods the two classes have in common, is it better to
have an abstract class that both classes extend, or is it better to
have an interface that both classes implement? Or is there any
difference between the two approaches?
Kevin Simonson