Buscar

POO_Introducao

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Para utilizar de forma eficiente as facilidades propostas pela P.O.O. é necessário que os desenvolvedores adaptem suas percepções para um enfoque totalmente diferente no que diz respeito da modelagem e resolução de problemas
Programação Orientada a Objetos
A P.O.O. é uma nova maneira de pensar sobre o que significa fazer cálculos, de como organizar as informações dentro de um sistema e a forma pela qual ocorre a descrição da visão (modelo) da realidade.
Programação Orientada a Objetos
Programação Orientada a Objetos
É um conjunto de teorias, padrões e métodos que juntos representam um modo de organizar o conhecimento.
 [Thomas Huhn, Structure of Scientific Revolution, 1970]
Não é apenas uma linguagem de programação
 acrescida com novos recursos
É um novo Paradigma
Princípios da P.O.O.
1o. Princípio
				Atributos (Dados)
	Objeto
				Métodos(Código) 
Princípios da P.O.O.
M1, M2, M3, M4, M5, M6, M7,M8 (Métodos -Código)
Definição Gráfica de um Objeto
 Atributos
M1
M2
M3
M4
M5
M6
M7
M8
Princípios da P.O.O.
 2o.Princípio
	Ocultação de Informações: o objeto que contém os atributos(dados) define quais os serviços que estão disponíveis para outro objeto. Nenhum objeto terá acesso ou conhecimento dos atributos(dados) ou a forma pela qual o serviço é realizado pelo método(código). Este mecanismo é denominado de Encapsulamento.
Princípios da P.O.O.
 3o.Princípio
	
	Passagem de Mensagens: um objeto pode comunicar com outro objeto através de um mecanismo de mensagem. A troca de mensagens é feita por meio de Serviços Públicos, que representam métodos de um objeto que podem ser chamados por um outro objeto. O mecanismo de troca de mensagens é feito por meio de uma Interface (protocolos) que representa a chamada de um protótipo de serviço. 
Princípios da P.O.O.
Mensagem
O Objeto A solicita um serviço para o Objeto B
 Atributos
M1
M2
M3
M4
M5
M6
M7
M8
 Atributos
M1
M2
M3
M4
M5
M6
M7
M8
Objeto B
Objeto A
Princípios da P.O.O.
 4o.Princípio 
	Ligação Posterior: representa o suporte necessário para que um determinado método(código) de um objeto seja chamado por uma mensagem oriunda de um outro objeto em tempo de execução.
Prof. Dimas Ferreira Cardoso
12
Princípios da P.O.O.
 5o.Princípio
	
	Delegação: a solicitação de um serviço é transmitida via mecanismo de mensagem entre o objeto cliente (utiliza o serviço) a um objeto agente (prestador do serviço). Embora pela perspectiva do cliente, o agente pode realizar os serviços solicitados. Contudo, a solicitação do serviço pode ser transmitida continuamente até que ela atinja o objeto que tenha não só os atributos(dados) como o método(código) para realizar o serviço.
Prof. Dimas Ferreira Cardoso
13
Princípios da P.O.O.
Prof. Dimas Ferreira Cardoso
14
Princípios da P.O.O.
 6o.Princípio
	
	Classe/Instância/Objeto: Todos os objetos são instâncias de uma classe. Instâncias podem ser criadas ou destruídas em tempo de execução.
Considerações:
a forma como um objeto provê um serviço é determinada pela classe da qual o objeto é instância
todos os objetos de uma classe utilizam o mesmo método em resposta a uma mesma solicitação de serviço.
Prof. Dimas Ferreira Cardoso
15
Princípios da P.O.O.
 7o.Princípio
	
	Generalização sem polimorfismo: as classes podem ser organizadas por meio de uma estrutura de hierárquica. Nesta estrutura, a subclasse herdará os atributos, as associações e os métodos da superclasse, que se encontra no ponto mais alto da estrutura. 
Pessoa
Cliente
Vendedor
Prof. Dimas Ferreira Cardoso
16
Princípios da P.O.O.
 8o.Princípio
	Generalização com polimorfismo: as classes podem ser organizadas por meio de uma estrutura hierárquica. Nesta estrutura, a subclasse herdará os atributos, as associações e os métodos da superclasse, que se encontra no ponto mais alto da estrutura. Entretanto, uma subclasse poderá criar seu próprio método(código) para substituir um método herdado através superclasse.
Funcionario
Mensalista
Horista
Prof. Dimas Ferreira Cardoso
17
Princípios da P.O.O.
 9o.Princípio
	Associações: representam as ligações entre os objetos que podem ser feitas através de uma associação binária , de uma agregação ou de uma composição.
Prof. Dimas Ferreira Cardoso
18
Classe/Instância/Objeto
Classe/Instância/Objeto
Cada objeto caneta tem os mesmos atributos (Tamanho, Tipo de Escrita, Cor, Constituição), mas os valores para estes atributos são diferentes. Entretanto, ambos os objetos executam o mesmo método Escrever( ).
	Representa um conjunto de elementos (objetos) que possuem os mesmos atributos (estrutura de dados) e realizam as mesmas operações (código). 
Classe
Classe/Instância/Objeto
	Representa um elemento (instância) de uma determinada classe. Objetos de uma mesma classe possuem os mesmos atributos e realizam as mesmas operações. Dentro da orientação a objetos as operações realizadas por um objeto são denominadas de métodos.
Objeto
Classe/Instância/Objeto
	Representa o processo de criação de um objeto de uma determinada classe.
Instanciação
Classe/Instância/Objeto
Classe
Objeto
Instanciação
Classe/Instância/Objeto
Representação da Classe
 - Notação UML-
 Atributos
M1
M2
M3
M4
M5
M6
M7
M8
M1, M2, M3, M4, M5, M6, M7,M8 (Métodos -Código)
Representação de um Objeto
Definição dos Atributos: todos os objetos de uma classe terão o mesmos atributos. A diferença entre os objetos de uma mesma classe é representada pelo armazenamento de diferentes valores para estes seus atributos. Cada atributo representa um tipo de dado (inteiro, real, caracter, matriz, ponteiro, etc ...).
Definição dos Métodos: Todo método é um bloco de instruções cuja finalidade é permitir que o objeto execute uma determinada operação pré-estabelecida. Os objetos instanciados a partir de uma mesma classe utilizam os mesmos métodos (código) e somente os métodos do próprio objeto terão acesso sobre os seus atributos. 
Atributos/Métodos
Características
 Altura
 Base
 
Operações
 Apontar Altura
 Apontar Base
 Calcular Área
 Calcular Perímetro
Retângulo
Modelagem de uma Classe
Objeto 
5.0
8.0
setAltura( )
setBase( ) 
calcArea
calcPerimetro
- Altura : double
- Base : double
Retangulo
+ setAltura( double) : void
+ setBase(double) : void
+ calcArea() : double
+ calcPerimetro( ) : double
Modelagem Classe Retângulo
Instanciação
Modelagem de uma Classe
Modelagem
Figura Retângulo
Dimas F. Cardoso
UNISO
30
Implementação de uma Classe
Retangulo.h
Dimas F. Cardoso
UNISO
31
1.6 Implementação de uma Classe
Retangulo.cpp
Dimas F. Cardoso
UNISO
32
Instanciando e Interagindo com um Objeto
Aplic.cpp
Dimas F. Cardoso
UNISO
33
Instanciando e Interagindo com um Objeto
Resultado

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando