Ajuda com orientação a Objetos

Java

28/05/2009

Galera uma ajudinha sou programador so que somente consigo pensar em orientação a eventos e nao a Objetos.
isso é por instinto dado um problema eu so consigo pensar em resolver em orientação a eventos
alguem tem alguma dica de como posso mudar este conceito? :oops:


Otavio Santos

Otavio Santos

Curtidas 0

Respostas

Discorpio

Discorpio

28/05/2009

Boa tarde Otavioalfenas.

[color=blue:2975f9e90f][size=18:2975f9e90f]Programação orientada a eventos[/size:2975f9e90f][/color:2975f9e90f] é um paradigma de programação. Diferente de programas tradicionais que seguem um fluxo de controle padronizado, o controle de fluxo de programas orientados a evento são guiados por indicações externas, chamadas eventos. Sua aplicação é grande no desenvolvimento de sistemas de interface com o usuário.

Diferente de aguardar por um comando completo que processa a informação, o sistema em tal paradigma é programado em sua base em um laço de repetição de eventos, que recebem repetidamente informação para processar e disparam uma função de resposta de acordo com o evento.

O método pelo qual a informação é adquirida por camadas mais baixas do sistema é irrelevante. As entradas podem ser enfileiradas ou uma interrupção pode ser registrada para reagir, ou ainda ambos.

[color=blue:2975f9e90f][size=18:2975f9e90f]A orientação a objetos[/size:2975f9e90f][/color:2975f9e90f], também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação.

A análise e projeto 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. Em outras palavras, na Orientação a Objetos voce pode trabalhar com várias interfaces gráficas e todas as chamadas dos seus eventos, sendo todos eles compilados e linkeditados em um único arquivo executável. Já a Orientação a Eventos, voce somente trata a chamada de funções de uma única interface gráfica.

[color=blue:2975f9e90f]Na programação orientada a objetos[/color:2975f9e90f], implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

C++, C#, Java (NetBeans, Eclipse, JBuilder e etc), Object Pascal (Delphi), Objective-C, Python, Ruby e Smalltalk são exemplos de linguagens de programação orientadas a objetos.

ActionScript, ColdFusion, Javascript, PHP (a partir da versão 4.0), Perl (a partir da versão 5) e VB.NET são exemplos de linguagens de programação com suporte a orientação a objetos.

Visual Basic 6 já é um exemplo de uma interface que utiliza linguagem Basic Orientada a Eventos.

[size=18:2975f9e90f][color=blue:2975f9e90f]Conceitos essenciais:[/color:2975f9e90f][/size:2975f9e90f]

[size=18:2975f9e90f][color=blue:2975f9e90f]Classe[/color:2975f9e90f][/size:2975f9e90f] 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.

[size=18:2975f9e90f][color=blue:2975f9e90f]Objeto[/color:2975f9e90f][/size:2975f9e90f] é 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.

[color=blue:2975f9e90f][size=18:2975f9e90f]Atributos[/size:2975f9e90f][/color:2975f9e90f] 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.

[color=blue:2975f9e90f][size=18:2975f9e90f]Métodos[/size:2975f9e90f][/color:2975f9e90f] 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().

[color=blue:2975f9e90f][size=18:2975f9e90f]Mensagem[/size:2975f9e90f][/color:2975f9e90f] é 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).

[size=18:2975f9e90f][color=blue:2975f9e90f]Herança[/color:2975f9e90f][/size:2975f9e90f] (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.

[size=18:2975f9e90f][color=blue:2975f9e90f]Associação[/color:2975f9e90f][/size:2975f9e90f] é 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.

[size=18:2975f9e90f][color=blue:2975f9e90f]Encapsulamento[/color:2975f9e90f][/size:2975f9e90f] 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).

[size=18:2975f9e90f][color=blue:2975f9e90f]Abstração[/color:2975f9e90f][/size:2975f9e90f] é 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.

[size=18:2975f9e90f][color=blue:2975f9e90f]Polimorfismo[/color:2975f9e90f][/size:2975f9e90f] é a capacidade de um método poder ser implementado de diferentes formas, ou mesmo de realizar coisas diferentes. A decisão sobre qual o método que deve ser selecionado é tomada em tempo de execução, através do mecanismo de ligação tardia. Sobrescrita e sobrecarga são dois tipos de polimorfismo.[color=blue:2975f9e90f]Sobrescrita[/color:2975f9e90f] - Ocorre quando uma classe filha redefine um método herdado. Os métodos têm o mesmo nome e a mesma assinatura, mas na classe filha ele está implementado de forma diferente, ou seja, ele sobrescreve o método já existente da classe pai. Ambos possuem a mesma assinatura, mas a escolha de qual método utilizar baseia-se no tipo de objeto instanciado. [color=blue:2975f9e90f]Sobrecarga[/color:2975f9e90f] - Ocorre quando dois ou mais métodos possuindo o mesmo nome são implementados com assinaturas diferentes, ou seja, recebem parâmetros de diferentes tipos ou em diferentes quantidades. A escolha de qual método utilizar baseia-se nos parâmetros recebidos na chamada do mesmo.

[color=blue:2975f9e90f][size=18:2975f9e90f]Interface[/size:2975f9e90f][/color:2975f9e90f] é 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 [1].

[color=blue:2975f9e90f][size=18:2975f9e90f]Pacotes[/size:2975f9e90f][/color:2975f9e90f] são referências para organização lógica de classes e interfaces[size=12:2975f9e90f][/size:2975f9e90f]


GOSTEI 0
POSTAR