A classe abstrata não pode ser instanciada pois ela existe somente para ser herdada.Na classe abstrata podos ter metodos sem parâmetros para que a classe que a herde os coloque.No caso das interfaces somente podemos criar métodos sem parâmetros e com a visibilidade PUBLIC.
1ºQuais são as outras diferenças entre classes abstratas e interfaces?
2ºQuando devemos usar uma e quando devemos usar a outra?
3ºJá que estamos falando de classes vocês
poderiam me falar uam utiliudade real da Reflexão?

Classes Abstratas E Interface
Started By Ryck, 25/03/2006, 21:32
2 replies to this topic
#2
Posted 26/03/2006, 08:54
1º - Vamos comparar!
Fonte: PHP5, Orientação a Objetos e Design Patterns, por Pablo Dall'Oglio.
Bom, vimos que a classe abstrata não pode ser instanciada apenas extendida, é como nós fazemos uma classe no php4 e usamos apenas extendendo. Mas no php5 podemos definir um método como obrigatório, definindo-o assim como abstract. E também na classe abstrata você possui métodos com comportamento como em qualquer outra.
No caso da interface ela dita as funções que a classe deverá ter. Se não encontrar irá retornar um erro. E na interface só há definições dos métodos que deverão haver na classe que for implementada por ela.
2º - Entendendo cada uma você saberá quando usar.
Classes Abstratas
No PHP5, é implementado o conceito de classe abstrata. Classe abstrata é uma classe que não pode
ter instâncias diretas. Ela só pode ser herdada.
Interfaces
No PHP5 é introduzido o conceito de interfaces. Uma interface cria um protocolo que define funções
que devem ser implementadas por uma classe. Veja o erro gerado no caso abaixo.
Fonte: PHP5, Orientação a Objetos e Design Patterns, por Pablo Dall'Oglio.
Bom, vimos que a classe abstrata não pode ser instanciada apenas extendida, é como nós fazemos uma classe no php4 e usamos apenas extendendo. Mas no php5 podemos definir um método como obrigatório, definindo-o assim como abstract. E também na classe abstrata você possui métodos com comportamento como em qualquer outra.
No caso da interface ela dita as funções que a classe deverá ter. Se não encontrar irá retornar um erro. E na interface só há definições dos métodos que deverão haver na classe que for implementada por ela.
2º - Entendendo cada uma você saberá quando usar.
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29
#3
Posted 27/03/2006, 11:24
3º qual sua dúvida em relação a utilidade? vc não acha útil?
PS: To respondendo com uma pergunta porque o assunto já foi, e há muito tempo, amplamente discutido... e praticado....
PS: To respondendo com uma pergunta porque o assunto já foi, e há muito tempo, amplamente discutido... e praticado....
Quer aprender PHP? -> www.manjaphp.com.br
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
Tutoriais, código colaborativo (pastebin), curso de PHP, artigos e etc.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)