PHP 5 e Orientação a Objetos - Parte 1
O modelo de programação orientada a objetos tornou-se fortemente marcado na versão 5 do php, que ate então, não oferecia recursos fundamentais para tal modelo. Abordaremos em uma serie de artigos, fun...
Publicado em: 8 de julho de 2006 | Leituras: 9.553 |
Canal: PHP |
Autor:
Conceitos
A programação orientada a objetos consiste em um desenvolvimento estratégico onde os sistemas são constituídos de partes reutilizaveis chamadas de classes que se interagem entre si através de objetos ( instancia de uma classe ).
"A análise orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos." (wikipedia.org)
"Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos." (wikipedia.org)
Classes
Uma classe nada mais é do que uma abstração de um objeto, um modelo pelo qual os objetos são criados. Uma classe possui basicamente atributos ( variaveis ) e métodos ( funções ) onde, a partir de objetos ( instancia de uma classe ) são acessadas e/ou retornam valores.
Ex:
Objetos
Como dito antes, objetos são instancias de uma classe, ou seja uma entidade generalizada. Um exemplo é o funcionário Edivan carneiro , da classe Funcionários e como você pode ver, o funcionário Edivam carneiro sabe coisas ( possui Atributos ) e faz coisas ( possui Métodos ).
Ex:
Além destas definições recomendo ler o artigo:
ORIENTACAO A OBJETOS
PHP 5 e Orientação a Objetos
Até a versão 4 do php, objetos eram tratados de maneira simples, opcões de visibilidade de métodos e atributos, construtores de destruidores de classes, entre outros não eram até então possivel nesta versão,ja a versão 5 do php traz melhor a aderencia a orientação a objetos implementandos todos os recursos de que uma linguagem orientada a objetos deve possuir como as ja citadas anteriormente.
1 -Visibilidade de atributos e métodos
A visibilidade de um atributo ou método define a prioridade de acesso ( visibilidade ) do mesmo pelo objeto que o instanciou. Pode ser:
Public:
Um atributo ou método definido como public pode ser acessado pela classe, objeto que o instanciou e pelas subclasses que o herdaram.
Protected:
Um atributo ou método definido como protected só pode ser acessado pela classe e subclasses que o herdaram
Private: Um atributo ou método definido como private só pode ser acessado pela classe que o criou
2 - Referencias
Maneiras de se acessar um atributo ou método de uma classe
$this->
Para se referir a um atributo ou método que se encontra na mesma classe que o criou utiliza-se a variavel especial $this-> seguida do nome do atributo ou método que se deseja acessar.
ex:
parent::
A palavra reservada parent:: é utilizada para referenciar a um metodo ou atributo de uma superclasse ( classe que foi herdada ).
ex:
Duvidas ou sugestões
edivam@oficinadanet.com.br
A programação orientada a objetos consiste em um desenvolvimento estratégico onde os sistemas são constituídos de partes reutilizaveis chamadas de classes que se interagem entre si através de objetos ( instancia de uma classe ).
"A análise orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos." (wikipedia.org)
"Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos." (wikipedia.org)
Classes
Uma classe nada mais é do que uma abstração de um objeto, um modelo pelo qual os objetos são criados. Uma classe possui basicamente atributos ( variaveis ) e métodos ( funções ) onde, a partir de objetos ( instancia de uma classe ) são acessadas e/ou retornam valores.
Ex:
Class funcionario{
protected $nome;
protected $cargo;
public function set_nome($nome){
$this->nome = $nome;
}
public function set_cargo($cargo){
$this->cargo = $cargo;
}
public function get_funcionario(){
return "Funcionário: {$this->nome} <br> Cargo: {$this->cargo}";
}
}Objetos
Como dito antes, objetos são instancias de uma classe, ou seja uma entidade generalizada. Um exemplo é o funcionário Edivan carneiro , da classe Funcionários e como você pode ver, o funcionário Edivam carneiro sabe coisas ( possui Atributos ) e faz coisas ( possui Métodos ).
Ex:
$func = new funcionario;
$func->set_nome('Edivam carneiro');
$func->set_cargo('Analista de Sistemas');
echo $func->get_funcionario();Além destas definições recomendo ler o artigo:
ORIENTACAO A OBJETOS
PHP 5 e Orientação a Objetos
Até a versão 4 do php, objetos eram tratados de maneira simples, opcões de visibilidade de métodos e atributos, construtores de destruidores de classes, entre outros não eram até então possivel nesta versão,ja a versão 5 do php traz melhor a aderencia a orientação a objetos implementandos todos os recursos de que uma linguagem orientada a objetos deve possuir como as ja citadas anteriormente.
1 -Visibilidade de atributos e métodos
A visibilidade de um atributo ou método define a prioridade de acesso ( visibilidade ) do mesmo pelo objeto que o instanciou. Pode ser:
Public:
Um atributo ou método definido como public pode ser acessado pela classe, objeto que o instanciou e pelas subclasses que o herdaram.
Protected:
Um atributo ou método definido como protected só pode ser acessado pela classe e subclasses que o herdaram
Private: Um atributo ou método definido como private só pode ser acessado pela classe que o criou
2 - Referencias
Maneiras de se acessar um atributo ou método de uma classe
$this->
Para se referir a um atributo ou método que se encontra na mesma classe que o criou utiliza-se a variavel especial $this-> seguida do nome do atributo ou método que se deseja acessar.
ex:
class teste{
public $var;
public $var2;
public function get_var(){
$this->var = 'TESTE';
return $this->var;
}
}parent::
A palavra reservada parent:: é utilizada para referenciar a um metodo ou atributo de uma superclasse ( classe que foi herdada ).
ex:
Class funcionario{
protected $nome;
protected $cargo;
protected $funcionario;
public function set_nome($nome){
$this->nome = $nome;
}
public function set_cargo($cargo){
$this->cargo = $cargo;
}
public function get_funcionario(){
$this->funcionario = "Funcionário: {$this->nome} <br> Cargo: {$this->cargo}";
return $this->funcionario;
}
}
Class salario extends funcionario{
public $salario;
public function set_salario($sal){
$this->salario = $sal;
}
public function get_salario(){
return $this->salario;
}
public function get_funcionario(){ // aqui irá sobrescrever o metodo da classe superior
parent::funcionario .= "<br>Salario: {$this->salario}";
parent::get_funcionario();
}
}
Duvidas ou sugestões
edivam@oficinadanet.com.br
Resposta em até 24 horas! (grátis)Dúvidas?
Últimas matérias
Últimas notícias
Dicas do canal
- PHP: Formulário de contato com validação
Muita das vezes um iniciante na área de web usa ja... - Dicas para otimizar seu código PHP
ou falar aqui sobre algumas pequenas dicas que voc...






O que você procura para sua vida profissional?
O planejamento agrega valor
E-mail marketing em 140 caracteres
Novos iPods, novo iOS, novo iTunes e nova Apple TV
Conheça as 100 primeiras cidades atendidas pelo Banda Larga ...
Linus Torvalds diz que mercado já se rendeu ao Linux