15

Feb 09

POO – Orientada a Objeto

Post de hj vou falar um pouco sobre a Programação Orientada a Objeto
Uma das grandes novidades do AS3.0 é a programação voltada para orientação de objeto, que muitas outras linguagens já utilizam, por exemplo, C++, Java e outras mais.
Esta programação trabalha com Classes que vem definir o comportamento de cada objeto
A POO é mais do que decorar uma sequência de códigos, é uma forma de pensar, esta forma de pensar especial que constitui no ponto mais importante da programação orientada, obviamente que não podemos esquecer que toda programação tem que ser bem feita, e limpa, assim conseguimos absolver todos os benefícios da POO.

A definição mais próxima que encontrei para a POO, dentro das minhas pesquisas, foi, “POO é a tentativa de aproximar a linguagem da programação com a linguagem humana”

Então trabalhando em cima desta definição vamos tentar mostrar na prática como funciona esta aproximação.

Vamos criar um telefone, isso, um telefone, vamos fazer em programação algo que ja existe em nossa vida real e tentar interagir os dois, para verificarmos a semelhança!

Vamos criar a Classe Telefone, uma Classe Abstrata, e vem a dúvida, o que é isso Victor?
Bom Pelo que entendi, a Classe Abstrata, é a classe maior, uma classe muito ampla, nossa classe Telefone, pode ser para celular, como para telefone fixo residencial.

Esta nossa Classe Telefone terá os seguintes métodos, que são funções

Liga()
Desliga()
Redial()

Se reparamos essa classe serve tanto para celular como telefone fixo, porém estes dois exemplos contém particularidades dentre eles…

e então a partir desta Classe Abstrata, podemos criar outras classes ligadas por Herança, herdando então as funções, ou métodos, da Classe Telefone…
por exemplo Classe TelefoneCelular herda as funções de um telefone normal… (na programação isso te economizaria muito tempo se fosse programar tudo toda vez que fosse criar um novo telefone, e também a aproximação com a idéia do celular atual nosso)

Continuando, nosso Celular tem propriedades e métodos diferentes do TelefoneFixo.
A partir deste raciocínio começaremos dizendo quais as propriedades de nosso celular.

a Classe TelefoneCelular tem como atributos, propriedades.

sms
bluetooth
games
câmera

estes atributos que eu coloquei, como exemplo imaginei ser verificação booleana (significa que o resultado é binário, ou 0 ou 1, ou verdadeiro ou falso) e que pode ser qualquer outro atributo, tipo se eu pedisse a cor do celular, voltando, então se dissermos que o celular tem sms, ele ativa o sms, e assim por diante em todas propriedades

e nos métodos do nosso TelefoneCelular, teremos

enviaSms()
recebeSms()
ativaBluetooth()
procuraDispositivo()
rodaGame()
instalaGame()
apagaGame()
tiraFoto()
enviaFoto()

então criamos essa funções exemplos, que são particularidades de um celular..
então percebemos que ele liga como qualquer telefone, mas tira foto, envia SMS, da pra jogar, e tem bluetooth..

então, essa interação entre classes faz com que criemos aplicativos complexos, e mais seguros e estáveis…

Bom, ainda estou estudando essa programação… e estou aqui para compartilhar o que já entendi…  e recomendo a todos estudarem-na!!

agora vou deixar os conceitos fundamentais da classe, que copiei da WikiPédia http://pt.wikipedia.org/wiki/Orientação_a_objeto

Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos. Exemplo de classe: Os seres humanos.

Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos. Exemplo de objetos da classe Humanos: João, José, Maria.

Atributos são características de um objeto. Basicamente a estrutura de dados que vai representar a classe. Exemplos: Funcionário: nome, endereço,telefone, CPF, ….; Carro: nome, marca, ano, cor, …; Livro: autor, editora, ano. Por sua vez, os atributos possuem valores. Por exemplo, o atributo cor pode conter o valor azul. O conjunto de valores dos atributos de um determinado objeto é chamado de estado.

Métodos definem as habilidades dos objetos. Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método deUmLatido(). Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto, no caso Bidu. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular; Todos os cachorros podem latir, mas você quer que apenas Bidu dê o latido. Normalmente, uma classe possui diversos métodos, que no caso da classe Cachorro poderiam ser sente(), coma() e morda().

Mensagem é uma chamada a um objeto para invocar um de seus métodos, ativando um comportamento descrito por sua classe. Também pode ser direcionada diretamente a uma classe (através de uma invocação a um método estático).

Sobrecarga é a utilização do mesmo nome para símbolos ou métodos com operações ou funcionalidades distintas. Geralmente diferencia-se os métodos pela sua assinatura. Exemplo: Um método Carro que recebe como parâmetro dois atributos (cor, placa), e outro método Carro que recebe como parâmetro (cor, placa, modelo).

Herança (ou generalização) é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Há Herança múltipla quando uma sub-classe possui mais de uma super-classe. Essa relação é normalmente chamada de relação “é um”. Um exemplo de herança: Mamífero é super-classe de Humano. Ou seja, um Humano é um mamífero.

Associação é o mecanismo pelo qual um objeto utiliza os recursos de outro. Pode tratar-se de uma associação simples “usa um” ou de um acoplamento “parte de”. Por exemplo: Um humano usa um telefone. A tecla “1″ é parte de um telefone.

Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável (os botões, o monofone e os sinais de tom).

Abstração é a habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.

Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma assinatura (lista de parâmetros e retorno) mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. A decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. No caso de polimorfismo, é necessário que os métodos tenham exatamente a mesma identificação, sendo utilizado o mecanismo de redefinição de métodos. Esse mecanismo de redefinição não deve ser confundido com o mecanismo de sobrecarga de métodos.
Interface é um contrato entre a classe e o mundo externo. Quando uma classe implementa uma interface, ela está comprometida a fornecer o comportamento publicado pela interface.

Pacotes são referências para organização lógica de classes e interfaces.

Vote em mim!

Related Posts

  • No related posts found.

Comments

Name

Email

Website

Share your wisdom

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Come in and find...

Search

Recomendo!

Visit Sponsored Links