segunda-feira, 9 de agosto de 2010

Exercício final - PHP Developer

1°) O que é orientação a objeto pra você?
2°) Qual operador é utilizado para instanciar uma classe?
3°) Uma classe é composta por?
4°) Quando o construtor de uma classe é chamado?
5°) Quando o destrutor de uma classe é chamado?
6°) Descreva e exemplifique quais são os graus de visibilidade.
7°) Quando uma classe é declarada como final?
8°) Quando um método pode ser declarado como final?
9°) Qual o sentido de ter métodos e propriedades estáticas?
10°) Crie uma classe, defina constantes, propriedades estáticas, e métodos estáticos, chame o método estático que exibirá a propriedade stática e a constante da classe.
11°) Para que server classes abstratas?
12°) Quando e onde uma classe abstrata pode ser instanciada?
13°) Uma classe pode não ser abstrata se um método for abstrato?
14°) O que é uma interface?
15°) Uma classe pode extender quantas classes e implementar quantas interfaces?
16°) Uma interface pode implementar quantas interfaces?
17°) Uma interface pode extender quantas interfaces?
18°) Por que usar exceção?
19°) Como levantar e capturar uma exceção?
20°) O que é reflection?
21°) Cite quais são e para que servem os métodos mágicos no PHP.

2 comentários:

  1. 1) Orientação a objeto é uma forma de pensar o mundo real como se fosse composto de objetos para representá-los no mundo computacional. Esses objetos podem possuir atributos que o descrevem, assim como ações que seriam o que os objetos podem fazer.

    2) Operador new.

    3) Atributos e métodos

    4) No momento da instanciação de uma classe, ou seja, assim que o operador new é utilizado.

    5) O destrutor é chamado através toda vez que a função unset() recebe um objeto como parâmetro ou a página é completamente carregada.

    6)
    Public

    o elemento com esse modificador pode ser acessado por qualquer uma dessas entidades: pela própria classe, pela classe herdada e pelo objeto.

    PROTECTED
    o elemento com esse modificador pode ser acessado pela classe que criou o item e pela classe herdada

    PRIVATE
    o elemento com esse modificador pode ser somente a classe criadora do elemento pode acessá-la

    ResponderExcluir
  2. Respostas Rogério Jacob
    1 - Tentar simular o mundo real, usando suas caractericas e propriedades.
    2 - new...
    3 - variaveis, metodos e construtores.
    4 - quando instancia utilizando o new...
    5 - quando termina o script, ou utilizando operador unset()...
    6 - private, public, protected,...
    7 - Quando seus metodos nao podem ser herdados.
    8 - Quando seus atributos nao podem ser herdados.
    9 - instanciar sem precisar declarar suas propriedades.
    10
    11- Sao classes que são utilizadas para serem herdados metodos e propriedades, e que nao devem ser do tipo protected.
    12 - nao podem ser instanciadas, apenas classes herdadas.
    13 - nao deverá ser abstrata.
    14 - meio de acesso à classe e metodos, onde preza o ecapslamento e ocultação de dados.
    15 - extende apenas pra 1 e implementa para varias.
    16 - nenhuma
    17 - nenhuma
    18 - Forma de tratar erros durante execucao;
    19 - utiliza o try...catch para definir o que será levantando, e throw new onde captura a excecao.
    20 - reflection é a forma de extrair informações sobre propriedades e metodos de uma classe,saber suas caracteristicas sem necessariamente conhece-las. uso da engenharia reversa.
    21 -tipo:
    get - recuperar valor de de atributos inacessiveis.
    isset - Verifica quando há tem metodos e propriedades inacessiveis.
    set - atribuis valor de atributos inacessiveis.
    unset - deleta da memoria a varial.
    __call = chamada de um metodo de que não existe ou está inacessivel.
    __callstatic = chamado quando metodo estatico nao esta definido ou nao acessivel.

    forma de acesso à metodos objetos, que não existem, ou possuem a condição de private, ou protected.

    Codigos:


    '
    echo teste;
    }
    funcao();
    }

    interface interfaceTeste
    {
    public $a;
    }
    class teste2 implements interfaceTeste

    class testeException
    {
    public function a()
    {
    throw new Exception('nao existe');
    }
    }
    try
    {
    a();
    }

    catch (Exception $e);

    {
    echo 'Aviso: ' .$e->getMessage();
    }
    ?>

    ResponderExcluir