[list]Toda classe abstract tem que ter pelo menos um método abstrato.[/list]
[list]Não é permitido instanciar objetos de uma classe abstrata (claro, pois existe pelo menos um método que não possui implementação, aquele que é abstrato)[/list]
[list]Uma classe que estende uma classe abstrata, se esta não for abstrata também, deve forneceer a implementação do(s) método(s) abstrato(s), “sobrescrevendo” o(s) método(s) abstrato(s) herdado(s).[/list]
[list]Se a classe que a extende também for abstrata, esta pode fornecer ou não implementação para os métodos herdados, sendo que a primeira clase concreta (não abstrata) que herdar esse hierarquia tem que obrigatóriamente fornecer a implementação dos métodos abstratos herdados.[/list]
Ajudou?
Até mais!
T
truck1n
ajudou, sim agora eu estou tendando compreender …
Eu posso instaciar a classe mas nao os metodos pelo que eu estou entendendo, um exemplo é o JFrame eu instacio a classe mas nao instacio nenhum objetivo pq quando eu instanciei ele vem na Hierarquia da classe, correto?
estamos caminhando! =D
alberto_ribeiro
você disse: "Eu posso instaciar a classe mas nao os metodos pelo que eu estou entendendo"
você não pode instanciar nenhuma classe abstrata… você pode instanciar uma classe concreta que extenda a classe abstrata para usar os métodos e não instaciar a classe abstrata diretamente.
[]'s
entendeu ?
davidbuzatto
Você só pode instanciar (criar objetos) de classes NÃO abstratas, ou seja classes concretas. Métodos não são instanciados, eles fazem parte de uma instância.
E caso estes sejam estáticos estes pertencem a classe e não a instância, apesar de cada instância poder acessar normalmente o método estático de sua classe.
Caso você não saiba, métodos estáticos são métodos que existem independentemente de existir algum objeto da classe a qual ele pertence.
Instanciar = Criar = Criar um novo objeto = usar o operador new (na maioria dos casos )
Digo na maioria dos casos pois para criar um objeto da classe String por exemplo, vc não precisa necessariamente usar um construtor explícito, bstante somente fazer String s = “algumaCoisa” q o compilador já faz o serviço para você.
Até mais!
T
truck1n
ahhh compreendi,
o unica objetivo da classe concreta é deixar as coisas semi prontas pelo que eu to entendendo…
igual uma construção o cimento ja vem pronto nos caminhões
uhmmmm compreendi, crio um classe Predio extendo ela para Construção que lá eu tenho o metodo cimento que já vem prontinho eu so preciso fazer algumas implementações?
Pelo que to vendo tenho que estudar OO ? o que acham?
Abraços!
alberto_ribeiro
seria ótimo estudar conceitos de OO, e falando a respeito do seu post: a classe abstrata ajuda você a definir seus objetos…
[]'s
davidbuzatto
Hehehehe vc está confundindo os conceitos…
Concreto = que pode ser criado
Abstrato = modelo que deve ser seguido
Hehehehehe é melhor estudar sim para fazer com que os conceitos fiquem mais claros… Aprender Java sem POO não é uma boa prática, pois como Java é uma linguagem OO é ineterssante que você saiba como tudo é feito e como as coisas funcionem.
Num vai fazer que nem o pessoal do Delphi hein (a maioria é claro)… Programar estruturado numa linguagem OO…
Falow!
T
truck1n
Compreendi.
Vlw to estudando aqui ai tem vezes que me aparece umas dúvidas! rs
Vlw!
então eu estou fazendo a coisa certa no meu código acima?
alberto_ribeiro
só uma coisinha nome de classe por padrão no Java inicia com letra em maiúsculo…
abstract class Abs…
public class Recebe extends Abs…
em uma classe abstrata procure colocar somente o que será abstrato mesmo e na classe que extender ela você adiciona os outros métodos…
particulamente eu prefiro assim… mas alguém pode dizer outro ponto de vista ???
[]'s
T
truck1n
alberto_ribeiro, Seguindo suas dicas da uma olhada agora!
vlw galera, agora vou dar uma olhada lá no mundo OO
para ver umas dicas!!! mas já deu uma clareada! vlwww
Sami_Koivu
davidbuzatto:
[list]Toda classe abstract tem que ter pelo menos um método abstrato.[/list]
Na verdade, é perfeitamente possível criar uma classe abstrata sem nenhum método abstrato - se bem que não consigo imaginar qual seria a utilidade disso.
T
truck1n
Compreendido!! agora é como se fosse uma receita de bolo!!
uma classe abstract parecido com uma Interface !?!?!
respondo hj a noite… to indo para a facul prova de matemática to ferrado!
davidbuzatto
Nossa, num tinha me atentado a isso Sami! Valeu pelo esclarecimento
truck1n, Você pode pensar em uma interface como se fosse uma classe 100% abstrata.