estou com o livro da kathy, to bem no começo ainda…me surgiu uma dúvida sobre classes abstract e segundo o livro, eu consegui chegar a seguinte conclusão:
Modificador abstract: são classes feitas com a única razão de serem herdadas. Os métodos abstract terminam com ; ao invés de chaves e se um método for declarado como abstract, a classe DEVE ser declarada como abstract também. Podemos declarar métodos non-abstract dentro de classes abstract e esses métodos poderão ser herdados por classes concretas ( non-abstract ).
Isso está certo? Uma dúvida que me surgiu foi se nos métodos abstract, eu declaro o método completo ou apenas uma declarsação dele.
Métodos Abstract:
são métodos que não possuem implmentação, por isso devem terminar com ‘;’, pois a classe que herdar este método deve implementa-lo, se uma classe possuir um método abstrato, ela(classe) deve ser declarado como abstract também.
Os métodos possuem apenas as assinaturas e não a implementação dele próprio, isso fica de respoonsabilidade das sub-classes.
Classes Abstract:
são classes que não poderam ser instanciadas, somente classes que herdem dela (sub-classes) poderão ser instanciadas desde que implementem todos os métodos abstratos a super classe (se existir).
Enquanto as sub-classes não implmentarem todos os métodos abstract elas ainda sim são consideradas abstratas e não podem ser instanciadas ainda.
Obs:Classes Abtsratas não necessitam de métodos abstratos, o contrário não é verdadeiro.
D
davidpadilha
certo,
mas eu posso declarar o método inteiro como abstract? Ou eu sempre coloco como
Eu posso colocar o ‘corpo’ desse método dentro da classe abstract?
neohacker
davidpadilha:
certo,
mas eu posso declarar o método inteiro como abstract? Ou eu sempre coloco como
Eu posso colocar o ‘corpo’ desse método dentro da classe abstract?
Perdão não compreendi a sua dúvida.
o Método inteiro será abstract, não pode ser um “pedaço” dele
D
davidpadilha
imagina uma método:
Eu posso declaarar esse método como abstract ou eu preciso declarar
E deixar que a classe filha implemente as regras…?
neohacker
davidpadilha:
imagina uma método:
Eu posso declaarar esse método como abstract ou eu preciso declarar
E deixar que a classe filha implemente as regras…?