AJBM Posted September 29, 2012 at 08:27 PM Report #477076 Posted September 29, 2012 at 08:27 PM Boas! Eu comecei a pouco tempo dar Classes genéricas, e tenho uma duvida nesta parte public class Pair<T extends Comparable<T>> ao fazer isto o base type tem obrigatoriamente que implementar a interface Comparable porque?
KTachyon Posted September 29, 2012 at 09:34 PM Report #477088 Posted September 29, 2012 at 09:34 PM Provavelmente porque vais querer utilizar funções desse interface dentro da classe Pair, pelo que os objectos têm que implementar essa interface e essa é a forma de obrigares que isso aconteça. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
AJBM Posted September 30, 2012 at 10:19 AM Author Report #477136 Posted September 30, 2012 at 10:19 AM Boas! Eu também queria saber porque,quando eu faço isto public class Pair<T extends Comparable<T>> não da erro mas se eu fizer isto public class Teste extends Comparable<Teste> da erro, eu sei que Comparable é uma interface logo devemos implementa la mas no 1 caso não da erro, é algo especifico das classes genericas?
DiogoAfonso Posted September 30, 2012 at 05:40 PM Report #477193 Posted September 30, 2012 at 05:40 PM Se é uma interface, a não é extends mas sim implements 😉
Baderous Posted September 30, 2012 at 06:46 PM Report #477208 Posted September 30, 2012 at 06:46 PM Boas! Eu também queria saber porque,quando eu faço isto public class Pair<T extends Comparable<T>> não da erro mas se eu fizer isto public class Teste extends Comparable<Teste> da erro, eu sei que Comparable é uma interface logo devemos implementa la mas no 1 caso não da erro, é algo especifico das classes genericas? Sim. Dentro do tipo parâmetro de uma classe parametrizada é usada a keyword "extends" quer para classes quer para interfaces (como é este caso: Comparable).
AJBM Posted September 30, 2012 at 08:17 PM Author Report #477221 Posted September 30, 2012 at 08:17 PM ok obrigado 👍
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now