Ajuda com orientação a Objetos

28/05/2009

0

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

Responder

Posts

06/06/2009

Discorpio

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]


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar