Buscar

anlise-orientada-a-objetos-objetos-e-classes-1217199775507310-9

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

Clique para editar o estilo do título mestre
Clique para editar o estilo do subtítulo mestre
*
*
*
Análise Orientada a Objetos 
Objetos e Classes
*
*
*
“Uma nova maneira de pensar os problemas utilizando conceitos do Mundo Real. O componente fundamental é o OBJETO que combina estrutura e comportamento em uma única entidade”
[Raumbaugh]
“Um sistema orientado a objetos é uma coleção de objetos que interagem entre si”
[Bertrand Meyer]
 
Análise Orientada a Objetos 
*
*
*
As Bases da Orientação a Objetos
 Correspondência com o mundo real
 Modularidade dos componentes
 Objetos com finalidade própria
 Permite a combinação destes Objetos
 Baixa dependência externa
 Alta coesão interna
 Fácil ampliação do objeto
 Permite reuso dos objetos
 Encapsulamento
*
*
*
Conceitos Básicos - Objeto 
Objeto é:
“É um elemento do mundo real”
 [José Davi Furlan]
Possui um comportamento e atributos. O comportamento é a forma com que reage a estímulos e os atributos são suas características, que podem mudar de acordo com seu comportamento.
*
*
*
Conceitos Básicos - Objeto 
Exemplos:
Concretos: pessoa, lápis, carro, etc.
Intangíveis: hora, projeto, organização, etc.
Personagem: médico, professor, etc.
Relacional: casamento, parceiro, propriedade.
Evento: venda, defeito do sistema.
Interface Gráfica: janela, ícone, botão.
*
*
*
 Conceitos Básicos - Objeto
 Exemplos: 
*
*
*
Identidade:	
É o nome do objeto. Cada objeto é único.
Exemplo: 	Aluno João, José, Maria...
Componentes de um Objeto 
*
*
*
Atributos (Características):
É um conjunto de propriedades de um Objeto que podem mudar com o tempo.
Exemplos: 	Idade de uma Pessoa
		Saldo de um Cliente
		Quantidade de Alunos de uma Turma
 		Se uma Pessoa está Falando (s/n)
Componentes de um Objeto 
*
*
*
Comportamento (Operações ou Métodos):
Lógica contida em um objeto para designar-lhe um comportamento. É como o objeto responde a outro objeto. Também chamado de Método, Comportamento, Procedimento, Função, etc.
Exemplo:	adicionarAluno
		calcularSaldoDevedor
Componentes de um Objeto 
*
*
*
 Conceitos Básicos - Objeto
 Exemplos: 
 
*
*
*
 Conceitos Básicos - Classe
 É uma coleção de objetos
 É a descrição formal de um conjunto de objetos
 Objetos que obedecem à mesma especificação
*
*
*
 Conceitos Básicos - Classe
Exemplos:
Classe – Veículo
	Objeto da Classe – Mercedes do Bruno
Classe – Pessoa
	Objeto da Classe – João
 
 Obs.: Um objeto também é chamado de instância da classe.
*
*
*
Definição
É um conjunto de Objetos que possuem estados semelhantes (mesma lista de atributos), comportamento comum (mesmas operações) e relacionamentos comuns com outros objetos.
“A estrutura de um software é formada pelas classes do sistema. Analogamente ao esqueleto dos animais, as classes formam uma armação que dá a sustentação e a forma ao sistema”
 
José Eduardo Deboni
Classe
*
*
*
	
	
		
		
Computador
Quantas classes podemos definir? 
 Exercício
*
*
*
		
Atributos e Operações de um Objeto devem estar armazenados no próprio Objeto. Dizemos que eles estão encapsulados no Objeto. 
A função do encapsulamento é proteger os dados do acesso descontrolado. O acesso é realizado por intermédio de mensagens (execução das operações) trocadas entre os objetos. 
As operações funcionam como serviços que o objeto fornece ao mundo exterior. 
Exemplo:	
Atributo – data do nascimento, Operação – cálculo da idade (data do nascimento) .
 Encapsulamento
*
*
*
 TELEVISÃO	 DVD
Cada aparelho com suas funções
A integração entre eles ocorre pela ligação da saída de um objeto à entrada do outro.
Com isto o DVD pode usar a TELEVISÃO para reproduzir imagens.
Exemplo:	
 Encapsulamento
*
*
*
Definição: Situação de um objeto em um dado instante do tempo. 
Exemplo(s):
Objeto: Nota Fiscal	Estado: Emitindo Nota Fiscal
Objeto: Pizza		Estado: Entregando Pizza 
 Estado
*
*
*
Definição: Uma solicitação entre objetos para invocar certa operação.
 Encapsulamento
*
*
*
 A comunicação entre os objetos ocorre pela troca de mensagens
 Um objeto solicita informações de outro objeto para realizar suas funções
 Uma mensagem é a execução de uma operação
 Uma mensagem pode ou não enviar parâmetros para outro objeto, bem como receber ou não uma resposta do mesmo.
Mensagens
*
*
*
 É a capacidade de um novo objeto (filho) tomar (herdar) características e comportamentos de um objeto(pai) já existente. 
Herança
*
*
*
	
		
 É uma característica que as classes de objetos podem possuir de modo que uma classe pode ser gerada a partir de outra classe herdando dela suas propriedades (atributos, operações)
 A herança permite que as propriedades da classe mãe possam ser expandidas para a classe filha incluindo novas características
 O uso de herança permite criar classes mais genéricas
 A herança aumenta a capacidade de reutilização das classes
 Herança
*
*
*
Exemplo 1:
Classe pai – Automóvel
Classe filha – Porshe
 
Porshe herda características e comportamentos da classe automóvel.
 	Atributos do Automóvel:
		Potência, capacidade de passageiros.
	Atributos do Porshe:
		Turbo.
 Herança
*
*
*
Exemplo 2:
Classe pai – Pessoa
Classe filha – Cliente do Banco
 
	Cliente herda características e comportamentos da classe Pessoa.
 Herança
*
*
*
Definição: Classe que herda as características da Classe pai. É o mesmo que Classe filha. 
Ex: 	Classe: Árvore
	Subclasses: Ipê, Eucalipto, etc. 
 Subclasse
*
*
*
	
	
		
 
				
Herança
Exemplo:
*
*
*
	
	
		
		
Classes
 Nomes no Singular
 Sem hífen, tracinhos ou espaços
 Sem Preposições (de, para, do, com, etc)
 Não usar palavras desgastadas (Tabela, Cadastro, etc)
 Para vários nomes usar 1ª letra Maiúscula e demais minúsculas
Exemplos: Cliente, ProdutoEstoque, PessoaJuridica 
Padrões para Nomes de Classes
*
*
*
	
	
		
 
 
		
Símbolos para uma classe
*
*
*
	
	
		
 
 
		
Atributos
 Sem hífen, tracinhos ou espaços
 Sem Preposições (de, para, do, com, etc)
 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas).
Exemplos:	idade
		nomeCliente
		sldDevedor
		qtdAlunosMatriculados
Padrões para Nomes de Atributos
*
*
*
	
		
 
 
		
Operadores (Métodos)
 Sem hífen, tracinhos ou espaços
 Sem Preposições (de, para, do, com, etc)
 Verbos no infinitivo (...ar, ...er, ...ir, etc)
 Sempre colocar Verbo + Sujeito
 1ª letra minúscula (para o caso de vários nomes, a 1ª letra dos demais nomes devem ser maiúsculas).
Exemplos:	calcularSaldoDevedor
		imprimirBoleto
Padrões para Nomes de Operadores
*
*
*
	Identifique as Classes e coloque atributos para os seguintes problemas:
	1) Sistema de controle de uma biblioteca
É um sistema de suporte para uma biblioteca
A biblioteca empresta livros e revistas para clientes, que são registrados no sistema, no qual também estão registrados os livros e as revistas
A biblioteca controla a compra de novos títulos. De títulos populares compra-se várias cópias. Livros antigos e revistas são removidos quando estão ultrapassados ou deteriorados
Bibliotecário é um funcionário da biblioteca que interage com os clientes e seu trabalho é auxiliado pelo sistema
Exercícios
*
*
*
	(continuação)
Um cliente pode reservar um livro ou revista que não está disponível no momento na biblioteca, de forma que quando ele for devolvido ou comprado pela biblioteca, o cliente é avisado. A reserva é cancelada quando o cliente retira o livro ou revista, ou através de um processo exclusivo de cancelamento
A biblioteca pode facilmente criar, atualizar, e apagar informações sobre seus títulos, clientes, empréstimos, e reservas no sistema
O sistema pode rodar em todos os ambientes populares (UNIX, Linux, windows, etc) e tem uma interface gráfica (GUI) moderna
O sistema deve ser facilmente estendido com novas funcionalidades
O sistema deve lidar com a mensagem que é enviada ao cliente quando um título reservado torna-se disponível, e precisa checar se um determinado título está ultrapassado ou deteriorado.
Exercícios
*
*
*
2) Sistema de controle de uma máquina que vende Coca-Cola
O sistema deve estar preparado para receber e conferir o dinheiro colocado pelo Cliente, inclusive para dar o troco.
Deve controlar a recarga de refrigerantes pelo Técnico, bem como o recolhimento do dinheiro da máquina.
Exercícios
*
*
*
3) Sistema Bancário
Um cliente poderá abrir uma conta, depositar, fazer saques (manual e automático), consultar saldo, alterar sua senha e aplicar em fundos (em terminais ou Internet).
O gerente fará a abertura da conta e a consulta ao saldo do cliente.
O caixa fará o saque manual, a alteração da senha e a consulta ao saldo.
	 
 
Exercícios
*
*
*
	O Diagrama de classes mostra as classes de um sistema e seus relacionamentos. 
Representação Gráfica
	O símbolo gráfico utilizado para representar uma classe é uma caixa, possivelmente dividida em compartimentos. 
Diagrama de Classes
*
*
*
	 
Esses compartimentos são utilizados em diferentes situações, dependendo se a classe pertence a um modelo de análise, design ou implementação. 
O primeiro compartimento é chamado de compartimento do nome, contendo o nome da classe.
Os compartimentos seguintes são chamados de compartimentos de listas, podendo acomodar listas de atributos ou operações.
Diagrama de Classes
*
*
*
Compartimento de Atributos
Utilizado para mostrar os atributos de uma classe.
A sintaxe padrão para a descrição dos atributos nesse compartimento é:
 
		nomeAtributo: tipoAtributo
Diagrama de Classes
*
*
*
Compartimento de Operadores (Métodos)
	Mostra as operações definidas para uma classe e/ou os métodos supridos por uma classe. 
Sua sintaxe padrão é:
nomeOperacao (lista de parâmetros): tipoParametroRetorno 	 
Cada elemento da lista de parâmetros tem a seguinte sintaxe:
TipoParametro nomeParametro
Diagrama de Classes
*
*
*
Compartimento de Operadores (Métodos)
Exemplo:
Diagrama de Classes
*
*
*
Relacionamento entre Classes 
Classes e objetos podem estar conectados por algum tipo de relacionamento. Podem ser:
 Associações 
 Agregações
 Composições
 Generalizações (Herança)
Diagrama de Classes - Relacionamentos
*
*
*
Associações 
Associações simples representam que existe alguma conexão entre dois elementos de uma classe, de tal forma que um deve manter alguma referência ao outro. 
Associações simples são representadas na forma de uma linha cheia conectando as duas classes.
As extremidades da associação podem possuir uma multiplicidade.0
Diagrama de Classes - Relacionamentos
*
*
*
Associações 
		Exemplo(s):
Diagrama de Classes - Relacionamentos
*
*
*
Agregação
Agregações são um tipo especial de associação onde o elemento associado corresponde a uma parte do elemento principal. 
	Exemplo(s):
Diagrama de Classes - Relacionamentos
*
*
*
Composição
		 
Composições são um tipo especial de agregação onde a parte indicada deve necessariamente existir.
A diferença básica entre uma agregação e uma composição é que na agregação, o número de partes associadas à classe principal é variável e pouco importa. 
No caso de uma composição, o número de objetos associados é definido, de tal forma que não faz sentido pensarmos o objeto da classe principal sem os objetos que o compõem. O todo existe enquanto as partes também existem.
Quando o objeto da classe principal for destruído, os objetos que o compõem necessariamente também o serão. 
Diagrama de Classes - Relacionamentos
*
*
*
Composição 	
	Exemplo(s):	 
		
Parede
Quarto
Chão
Janela
Diagrama de Classes - Relacionamentos
*
*
*
Classe de Associação
Uma classe de associação é utilizada quando uma associação necessita de atributos e/ou operações.
Uma classe de associação está ligada à associação entre duas classes.
	Exemplo(s):		
Diagrama de Classes - Relacionamentos
*
*
*
		Considere um programa para gerenciar clientes, empregados e fornecedores de uma empresa.
		Para cada tipo de objetos criamos uma classe com atributos e métodos.
		Exemplo
		Classes Pessoa e Empregado:
Diagrama de Classes – Generalização ou Herança
*
*
*
	
	Comparando as classes, observamos que:
Ambas possuem os atributos nome e sexo.
Ambas oferecem os mesmos métodos para buscar o nome e o sexo (devolveNome(),devolveSexo()).
A classe Empregado “adiciona” um novo atributo para armazenar o salário, e os métodos específicos de um empregado.
Portanto podemos dizer que um empregado é uma pessoa com algumas “coisas” a mais.
Seria interessante se não precisássemos repetir na classe Empregado o código comum à classe Pessoa.
Isto é possível se definirmos que a classe Empregado herda as características da classe Pessoa.
Diagrama de Classes – Generalização ou Herança
*
*
*
	
	Representação Gráfica
	
Diagrama de Classes – Generalização ou Herança
*
*
*
	
Exercícios 	
1. Organize hierarquicamente em um diagrama as seguintes classes: 
 MembroDaUniversidade, Professor, Coordenador, Empregado, Ex-aluno,
 CorpoDiscente, AlunoDeGraduacao, AlunoDePosGraduacao, Funcionario,
 CorpoDocente.
2.    Organize hierarquicamente em um diagrama as seguintes classes: 
 VeiculoTerrestre, VeiculoAquático, VeiculoAutoMotor, Carro, Moto, Barco,
 NavioCargueiro, Caminhão, VeiculoAnfibio, Submarino, VeiculoAereo, Aviao, HidroAviao.
Diagrama de Classes – Generalização ou Herança
*
*
*
	
Fazer o Diagrama de Classes dos exercícios:
Biblioteca
Máquina Coca-Cola
Sistema Bancário
Diagrama de Classes – Exercícios
*
*
*
Exemplo:
Estudo de Caso 1 – Sistema de Empréstimos
Exercícios:
Estudo de Caso 2 – Revenda de Celulares
Diagrama de Classes

Teste o Premium para desbloquear

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

Continue navegando