Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá! Estou com dúvidas. Estudando poo encontrei as seguintes afirmações (em aspas).
"
Classe...
Uma classe é um conjunto de variáveis e funções relacionadas a essas variáveis. Uma classe é um tipo, e portanto não pode ser atribuída a uma variável.
"
----------------------------- ----------------------------- -----------------------------
"
Uma classe é uma abstração que define um tipo de objeto e o que objetos deste determinado tipo tem dentro deles (seus atributos) e também define que tipo de ações esse tipo de objeto é capaz de realizar (métodos).
"
O que quer dizer "classe é um tipo"?
Objetos também são tipos?
Classes definem objetos? Se sim então o objeto é a finalização de uma classe?
Se puderem responder minhas dúvidas, serei muito grato! Abraços.
>
http://forum.imasters.com.br/index.php?/topic/392555-1-1-classes-x-objetos/
João parabéns pelo o artigo!
Diante da leitura, veja se estou correto:
A classe é um modelo ou template para criação de objetos. E este possui a mesma estrutura da classe mais diferenciando que ele se comporta de forma dinâmica, interagindo com o sistema e possuindo dados nele armazenados, ao contrário da classe que é estática e sem vida.
Sobre a classe ser um tipo, o sentido era que ela define objetos que ao serem instanciados recebem uma instância da classe, assim determinando seu tipo.
Este meu pensamento está correto? Desculpe-me se estou sendo chato. Acredito que o mais importante após ter lido seu artigo é entender e tirar minhas próprias conclusões de forma concisa e correta.
Abraços!
>
João parabéns pelo o artigo!
;)
>
A classe é um modelo ou template para criação de objetos. E este possui a mesma estrutura da classe mais diferenciando que ele se comporta de forma dinâmica, interagindo com o sistema e possuindo dados nele armazenados, ao contrário da classe que é estática e sem vida.
Sobre a classe ser um tipo, o sentido era que ela define objetos que ao serem instanciados recebem uma instância da classe, assim determinando seu tipo.
Ok, existem várias coisas ai, vamos por partes:
>
A classe é um modelo ou template para criação de objetos.
Cuidado para não confundir ou causar confusão, ao dizer que uma classe é um template; Linguagens como C++, além de classes, possuem também templates de classes.
>
E este possui a mesma estrutura da classe mais diferenciando que ele se comporta de forma dinâmica, interagindo com o sistema e possuindo dados nele armazenados
O sistema interage com os vários objetos e não o contrário.
Pense em um LEGO e imagine-se diante desse lego.
/applications/core/interface/imageproxy/imageproxy.php?img=http://tvcinemaemusica.files.wordpress.com/2009/08/lego.jpg&key=bbe36e86597007bd7773c739e77421beef40b63a85d19b99fe34caf3840ecf34" alt="Imagem Postada" class="bbc_img">
Agora pense que você é o sistema.
Quem interage com quem ??
Você brinca com o LEGO ou o LEGO brinca com você ??
Cada peça do LEGO é um objeto no seu sistema, cada um tem uma função e, você, utiliza cada um desses objetos para construir alguma coisa.
>
ao contrário da classe que é estática e sem vida.
Dizer que uma classe é estática, tudo bem, mas é totalmente equivocado dizer que ela é sem vida:
class UmaClasse {
private static $valor;
public static function mudaValor( $valor ){
self::$valor = $valor;
}
public static function mostraValor() {
echo self::$valor , PHP_EOL;
}
}
Como pode ver, essa classe possui apenas propriedades e métodos estáticos:
UmaClasse::mudaValor( 10 );
UmaClasse::mostraValor();
UmaClasse::mudaValor( 20 );
UmaClasse::mostraValor();
A saída:
>
10
20
>
Sobre a classe ser um tipo, o sentido era que ela define objetos que ao serem instanciados recebem uma instância da classe, assim determinando seu tipo.
O tipo de um objeto é definido pelos métodos de interface, quando uma classe define uma série de métodos públicos que podem ser utilizados com um objeto, ela definiu a interface do objeto e, dessa forma, seu tipo.
Para compreender tipo, pense no seguinte:
1. Você tem vários objetos LEGO.
2. Cada LEGO tem uma função.
2.1. Pense como função, alguma coisa que um objeto faz ou executa.
Então, tipo de objeto é o que tal objeto faz.
Pensando em uma pessoa:
Um médico é um tipo de pessoa que medica pessoas.
Um engenheiro é um tipo de pessoa que constrói coisas.
boa fera .. bela explicacão a do lego ;)
valww
>
Um médico é um tipo de pessoa que medica pessoas.
Um engenheiro é um tipo de pessoa que constrói coisas.
Nota: Ambos são pessoas, mas basicamente:
class Medico implements Pessoa, Medicina {}
class Engenheiro implements Pessoa, Engenharia {}
^_^
Obrigado pessoal. Vocês estão de parabéns!
http://forum.imasters.com.br/index.php?/topic/392555-1-1-classes-x-objetos/