Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto
Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br www.univasf.edu.br/~rosalvo.oliveira 3
Tópicos Conceitos Gerais Conceitos básicos de Orientação Objeto Classe; Objeto; Instanciar; Atributo; Estado; Identidade; Método; Encapsulamento; Mensagem; Interface
Conceitos Gerais O que é o paradigma orientado a objeto? O que é um paradigma? Um modelo ou um padrão. Em outras palavras: É uma forma de abordar um problema, segundo um conjunto de procedimentos, valores ou conceitos que direcionam o pensamento.
Conceitos Gerais Por que Programar orientado a objeto? Compreensão melhor do problema/solução; Correção do sistema desenvolvido/proposto; Manutenção do sistema desenvolvido; Reutilização do sistema desenvolvido; Extensão do sistema desenvolvido.
Linguagens Orientadas a Objetos - Pura (Segundo Alan Kay) Cinco regras Everything in an object. A program is a set of objects telling each other what to do by sending messages. Each object has its own memory (made up by other objects). Every object has a type. All objects of a specific type can receive the same messages
Conceito de Objeto Um objeto é um encapsulamento de dados Um objeto tem: Identidade (uma referencia única), Estado (também chamado de característica) Comportamento Um objeto é uma instancia de um tipo de dado abstrato Um tipo de dado abstrato é implementado através de uma classe
Encapsulamento Os dados podem ser encapsulados de tal forma que tornam-se invisível para o"mundo exterior ; Dados podem devem ser acessados apenas via métodos.
Classe vs. Objeto Classe A descrição das propriedades comuns de um conjunto de objetos. Um conceito. Uma classe é uma parte do programa. Objeto Uma representação das propriedades de uma única instância. Um objeto é parte de dados e execução de um programa.
Tipo e Interface Um objeto tem um tipo uma interface O conjunto de mensagens que um objeto pode receber é denominado interface do objeto
Instanciando Classes Instanciar é um mecanismo onde objetos são criados a partir de uma classe Um mecanismo no qual é dado um estado inicial a um objeto Classe: Carro modelo: texto cor: texto valor: real Instanciar Objeto do tipo Carro modelo: Gol cor: Preta valor: R$ 33.000,00
Interação entre Objetos Interação entre objetos acontece via mensagem Um objeto O1 interage com outro objeto O2 por chamar um método em O2 O1 e O2 deve ser relacionado para se comunicar.
Atributo, Estado e Identidade O que é um atributo? O que é um estado? O que é uma identidade?
Atributo, Estado e Identidade O que é um atributo? O que é um estado? O que é uma identidade? Vejamos um exemplo:
Exemplo Em uma universidade existem inúmeros professores, cada um com uma matrícula SIAPE, um nome, uma área de conhecimento, uma titulação, etc.. Cada um é um objeto. Porém é possível perceber que todos os professores tem o mesmo conjunto de informações relevantes ao sistema e que além disso todos desempenham as mesmas ações. Esta observação nos leva a identificar/definir a classe professor.
Classe professor O professor Raimundo O professor Girafales
As informações sobre os professores são denominadas atributos, ou seja, cada um dos professores tem o mesmo conjunto de atributos. Os valores dos atributos podem ser iguais entre os objetos da mesma classe. Por exemplo: - O professor Raimundo e o professor Girafales podem pertencer à mesma área de conhecimento.
As informações sobre os professores são denominadas atributos, ou seja, cada um dos professores tem o mesmo conjunto de atributos. Os valores dos atributos podem ser iguais entre os objetos da mesma classe. Por exemplo: - O professor Raimundo e o professor Girafales podem pertencer à mesma área de conhecimento.
O professor Raimundo pode ter o atributo titulação igual a mestre, cursar um doutorado, e passar o valor deste atributo para doutor. O conjunto dos valores dos atributos de um objeto em um dado instante caracteriza o seu estado. OBS.: Normalmente quando um objeto é instanciado são atribuídos valores padrões para seu atributos.
A identidade de um objeto é a propriedade segundo a qual cada objeto (independente de sua classe ou estado atual) pode ser identificado e tratado como uma entidade distinta.
Métodos As ações desempenhadas por um objeto são definidas por métodos (funções). Ou seja, um método constitui um comportamento de um objeto representado por um conjunto de instruções. Logo, na classe professor existirá um método para registrar notas, outro para registrar faltas e assim por diante.
Encapsulamento No contexto do paradigma da orientação a objeto, encapsulamento é o agrupamento de procedimentos/funções em torno de dados. Sendo mais técnico, trata-se de encapsular o estado dentro de mecanismos procedurais/funcionais para acessar e modificar aquele estado Com base no princípio do encapsulamento podemos definir os conceitos de ocultamento de informação/implementação
Dúvidas