Toda definição de classe começa com a palavra-chave class, seguido por um nome
da classe, que pode ser qualquer nome que não seja uma palavra
reservada no PHP. seguido por um par de chaves, que
contém a definição dos membros e métodos da classe. Uma
pseudo variável, $this
, está disponível quando um método é
chamado dentro de um contexto de objeto. $this
é uma referência
para o objeto chamador do método (normalmente o objeto ao qual o método
pertence, mas pode ser outro objeto, se o método é chamado
statically do contexto
de um objeto secundário). Isso é ilustrado no exemplo a seguir:
Para criar uma instância de um objeto, um novo objeto deve ser criado e atribuído à uma variável. Um objeto sempre será atribuído quando for criado um novo objeto, a não ser que o objeto tenha um construtor definido que dispare uma exceção por um erro.
Quando atribuír um instância já criada de um objeto à uma variável nova, essa acessarpa a mesma instância do objeto que foi atribuído. Esse comportamento se mantem quando passando instâncias à uma função. Uma nova instância de um objeto já criado pode ser feita clonando o mesmo.
Exemplo 19-4. Atribuíção de Objetos
O exemplo acima irá imprimir:
|
Uma classe pode herdar métodos e membros de outra classe usando a palavra-chave extends na sua declaração. Não é possível herdar classes múltiplas, uma classe só pode herdar uma classe base.
Os métodos e membros herdados podem ser sobrescritos, a não ser que a classe pai definiu um método como final, redeclarando eles com o mesmo nome definido na classe pai. É possível acessar os métodos e membros sobrescritos referenciado eles com parent::