introdução ao paradigma da orientação a...
TRANSCRIPT
![Page 1: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/1.jpg)
Introdução ao paradigmada orientação a objetosPOO29004 – Engenharia de Telecomunicações
Prof. Emerson Ribeiro de Mello
http://docente.ifsc.edu.br/mello/poo
21 DE AGOSTO DE 2018
![Page 2: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/2.jpg)
Desenvolvimento de software
Abstração do problema
Princípio básico do desenvolvimento de software
Retirar do domínio do problema detalhes relevantes erepresentá-los na linguagem da solução
A evolução das linguagens de programação influenciaram a formade como os problemas são atacados
A tecnologia de cada época delimitou como os problemas eramatacados
Paradigma – forma de como atacar um problema
1/24
![Page 3: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/3.jpg)
Paradigmas de programação: sequencial
Solução rápida para problemas de pequeno porte
Faz uso de desvios incondicionais (GOTO e JUMP)
Não é ideal para problemas de grande porteDificuldade em organizar o código
O uso de desvios incondicionais pode-se tornar um transtorno
Exemplos: Assembly, Basic
2/24
![Page 4: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/4.jpg)
Paradigmas de programação: procedural/estruturada
Fundamentada sobre estruturas de sequência, decisão e repetiçãoDesvios condicionais são preferidos a desvios incondicionais
A solução de cada pequena parte do problema é feita emprocedimentos (ou funções) e a solução de todo problema consistena invocação destes procedimentos
Dividir para conquistar!
Visa a reutilização de código
Exemplos: Pascal, C
3/24
![Page 5: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/5.jpg)
Paradigmas de programação: orientada a objetos
Todo o sistema é visualizado como um conjunto de célulasinterconectadas, denominadas objetos
Cada objeto possui uma tarefa específica e por meio da troca demensagens entre os objetos é possível realizar uma tarefacomputacional
Tal paradigma é ideal para o desenvolvimento de softwarecomplexos
Pode trazer complexidade desnecessária para projetos pequenos ouembarcados
Exemplos: Smalltalk, C++, Java, Python
4/24
![Page 6: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/6.jpg)
Conceitos da Orientação a Objetos
A Orientação a Objetos fundamenta-se sobre 5 conceitos:
Objetos
Classes
Mensagens
Herança
Polimorfismo
5/24
![Page 7: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/7.jpg)
Objetos: Definição
Um objeto é um item identificável e é composto por estado e porcomportamento
6/24
![Page 8: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/8.jpg)
Objetos: Definição
Um objeto é um item identificável e é composto por estado e porcomportamento
6/24
![Page 9: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/9.jpg)
Objetos
Regra de ouro da orientação a objetosIdentificar os estados e comportamentos de objetos do mundo real éum grande passo para se começar a pensar em termos de programaçãoorientada a objetos
EstadoRepresenta as características do objeto
Ex: Um carro possui como características uma cor, modelo,velocidade atual
ComportamentoRepresenta as operações (métodos) que este objeto é capaz deexecutar
Ex: Um carro pode trocar de marcha, acelerar, frear, etc.
7/24
![Page 10: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/10.jpg)
Objetos no domínio do problema
Olhe ao redor e escolha dois objetos. Para estes responda:
Quais os possíveis estados que este objeto pode assumir?
Quais os possíveis comportamentos que este objeto pode ter?
É possível notar diferentes níveis de complexidade de cada objetoPor exemplo: lâmpada vs computador
É possível notar que alguns objetos podem conter outros objetosUm computador possui um disco rígido, este último por sua veztambém é um objeto
8/24
![Page 11: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/11.jpg)
Objetos no domínio do problema
Olhe ao redor e escolha dois objetos. Para estes responda:
Quais os possíveis estados que este objeto pode assumir?
Quais os possíveis comportamentos que este objeto pode ter?
É possível notar diferentes níveis de complexidade de cada objetoPor exemplo: lâmpada vs computador
É possível notar que alguns objetos podem conter outros objetosUm computador possui um disco rígido, este último por sua veztambém é um objeto
8/24
![Page 12: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/12.jpg)
Objetos em sistemas computacionais
Objetos de software são semelhantes aos objetos reaisUm objeto armazena seu estado em atributos e seu comportamento sedá por meio de operações (métodos)
Métodos de um objeto são invocados para realizar umadeterminada computação e potencialmente para modificar osatributos deste objeto
programador: Qual a tua velocidade atual?
objeto carro: 20 km/hora
programador: Diminua a velocidade em 10%
objeto carro: Ok
9/24
![Page 13: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/13.jpg)
Objetos em sistemas computacionais
Objetos de software são semelhantes aos objetos reaisUm objeto armazena seu estado em atributos e seu comportamento sedá por meio de operações (métodos)
Métodos de um objeto são invocados para realizar umadeterminada computação e potencialmente para modificar osatributos deste objeto
programador: Qual a tua velocidade atual?
objeto carro: 20 km/hora
programador: Diminua a velocidade em 10%
objeto carro: Ok
9/24
![Page 14: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/14.jpg)
Objetos em sistemas computacionais
Objetos de software são semelhantes aos objetos reaisUm objeto armazena seu estado em atributos e seu comportamento sedá por meio de operações (métodos)
Métodos de um objeto são invocados para realizar umadeterminada computação e potencialmente para modificar osatributos deste objeto
programador: Qual a tua velocidade atual?
objeto carro: 20 km/hora
programador: Diminua a velocidade em 10%
objeto carro: Ok
9/24
![Page 15: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/15.jpg)
Encapsulamento
DefiniçãoProcesso de esconder todos os detalhes de um objeto que nãocontribuem para as suas características essenciais. Ex: uma caixa preta
A interação entre objetos se dá através da troca de mensagens
O emissor da mensagem não precisa conhecer como o destinatárioprocessará a mensagem, ao emissor só importa receber a resposta
Exemplo: System.out.println("Ola mundo");
Mensagens são compostas por três partes1 Objeto: System.out
2 Nome do método: println
3 Parâmetros: "Ola mundo"
10/24
![Page 16: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/16.jpg)
Encapsulamento
DefiniçãoProcesso de esconder todos os detalhes de um objeto que nãocontribuem para as suas características essenciais. Ex: uma caixa preta
A interação entre objetos se dá através da troca de mensagens
O emissor da mensagem não precisa conhecer como o destinatárioprocessará a mensagem, ao emissor só importa receber a resposta
Exemplo: System.out.println("Ola mundo");
Mensagens são compostas por três partes1 Objeto: System.out
2 Nome do método: println
3 Parâmetros: "Ola mundo"
10/24
![Page 17: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/17.jpg)
Encapsulamento
Vantagem do encapsulamentoA implementação dentro de uma operação pode ser alterada sem queisso implique na alteração do código do objeto requisitante
A interface de um objeto corresponde ao que ele conhece e ao queele sabe fazer, no entanto sem descrever como ele conhece ou faz
O emissor das mensagens precisa saber quais operações odestinatário é capaz de realizar ou quais informações o destinatáriopode fornecer
11/24
![Page 18: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/18.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Freios funcionam pormeio de um sistema depistões e mangueiraspor onde circula o fluídode freio
Ao pisar no pedal defreio, aciona-se ocilindro mestre que irápressurizar o fluído.
Esse fluído transmite apressão exercida nopedal até as rodas,acionando o freio.
12/24
![Page 19: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/19.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Como você faz para frear um carro com o sistema de freio a tambor?Como você faz para frear um carro com o sistema de freio a disco?
13/24
![Page 20: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/20.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Como você faz para frear um carro com o sistema de freio a tambor?Como você faz para frear um carro com o sistema de freio a disco?
13/24
![Page 21: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/21.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Como você faz para frear um carro com o sistema de freio a tambor?
Como você faz para frear um carro com o sistema de freio a disco?
13/24
![Page 22: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/22.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Como você faz para frear um carro com o sistema de freio a tambor?Como você faz para frear um carro com o sistema de freio a disco?
13/24
![Page 23: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/23.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Objeto: Fusca
Para diminuir a velocidade do carro basta pressionar o pedal do freio
Não é necessário entender como o mecanismo de freio funciona,mas ao acionar o freio o Fusca irá diminuir sua velocidade
1 System.out.println("Acionando o freio do Fusca");
2 fusca.frear();
3
4 System.out.println("Acionando o freio da Ferrari");
5 ferrari.frear();
14/24
![Page 24: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/24.jpg)
Encapsulamento: Exemplo Sistema de freio hidráulico
Objeto: Fusca
Para diminuir a velocidade do carro basta pressionar o pedal do freio
Não é necessário entender como o mecanismo de freio funciona,mas ao acionar o freio o Fusca irá diminuir sua velocidade
6 System.out.println("Acionando o freio do Fusca");
7 fusca.frear();
8
9 System.out.println("Acionando o freio da Ferrari");
10 ferrari.frear();
14/24
![Page 25: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/25.jpg)
Classes
Classe é uma planta (projeto) que indica como os objetos deverãoser construídos
Fusca
Cada carro é construído com base em um mesmo projeto deengenharia e por consequência todos carros possuirão os mesmoscomponentes
Classe Objetos
15/24
![Page 26: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/26.jpg)
Classes
Classe é uma planta (projeto) que indica como os objetos deverãoser construídos
Fusca
Cada carro é construído com base em um mesmo projeto deengenharia e por consequência todos carros possuirão os mesmoscomponentes
Classe
Objetos
15/24
![Page 27: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/27.jpg)
Classes
Classe é uma planta (projeto) que indica como os objetos deverãoser construídos
Fusca
Cada carro é construído com base em um mesmo projeto deengenharia e por consequência todos carros possuirão os mesmoscomponentes
Classe Objetos
15/24
![Page 28: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/28.jpg)
Identifique as classes e os objetos
Corsa Gol
João José
IpêAraucária
CarroÁrvore Pessoa
16/24
![Page 29: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/29.jpg)
Uma classe em Java
11 public class Carro{
12 // atributos
13 private double velocidade;
14 private String marca;
15 private String modelo;
16 // metodos
17 public void acelerar(double intensidade){
18 ...
19 }
20 public void frear(double intensidade){
21 ...
22 }
23 public String obterMarca(){
24 return marca;
25 }
26 public void imprimirVelocidade(){
27 System.out.println("Velocidade: " + velocidade);
28 }
29 }
17/24
![Page 30: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/30.jpg)
Representação gráfica em UML da classe Carro
Linguagem de modelagem unificada – UMLUma linguagem padrão para a modelagem de sistemas, amplamenteutilizada tanto pela indústria do software quanto por instituiçõesacadêmicas.
18/24
![Page 31: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/31.jpg)
Representação gráfica em UML da classe Carro
Linguagem de modelagem unificada – UMLUma linguagem padrão para a modelagem de sistemas, amplamenteutilizada tanto pela indústria do software quanto por instituiçõesacadêmicas.
18/24
![Page 32: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/32.jpg)
Abstração
Trata-se do processo mental que nós seres humanos nos atemosaos aspectos mais relevantes de alguma coisa, ao mesmo tempoque ignoramos os aspectos menos importantes
Isso nos permite gerenciar a complexidade de um objeto, ao mesmotempo que concentramos nossa atenção nas característicasessenciais do mesmo
Note que abstração é dependente do contexto sobre o qual estealgo é analisado
O que é importante em um contexto pode não ser importante em outro
19/24
![Page 33: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/33.jpg)
Abstração
20/24
![Page 34: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/34.jpg)
Abstração: Exemplo
Sistema para revenda de carrosNecessita de um sistema para controlar os carros do estoque
Quais são as características essenciais para um carro?
Atributos: código, marca, modelo, ano, preço
Métodos: obterCódigo, obterModelo, definirPreço, etc.
Jogo de Fórmula 1Um usuário deseja controlar seu carro no jogo
Quais são as características essenciais para um carro?
Atributos: código, cor, velocidadeAtual, velocidadeMaxima
Métodos: frear, acelerar, trocarPneus, etc.
21/24
![Page 35: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/35.jpg)
Abstração: Exemplo
Sistema para revenda de carrosNecessita de um sistema para controlar os carros do estoque
Quais são as características essenciais para um carro?Atributos: código, marca, modelo, ano, preço
Métodos: obterCódigo, obterModelo, definirPreço, etc.
Jogo de Fórmula 1Um usuário deseja controlar seu carro no jogo
Quais são as características essenciais para um carro?Atributos: código, cor, velocidadeAtual, velocidadeMaxima
Métodos: frear, acelerar, trocarPneus, etc.
21/24
![Page 36: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/36.jpg)
Primeiro exercício: Um contador
A classe Contador possui umúnico atributo
valorAtual
A classe provê métodos para:Atribuir um valor aocontador
Incrementar o contador
Obter o atual valor docontador
22/24
![Page 37: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/37.jpg)
Primeiro exercício: Um contador
A classe Contador possui umúnico atributo
valorAtual
A classe provê métodos para:Atribuir um valor aocontador
Incrementar o contador
Obter o atual valor docontador
22/24
![Page 38: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/38.jpg)
Exercício
Comutador (switch)A figura acima apresenta um ativo de rede (switch)
1 Pense em um contexto e realize o processo de abstração para coletaras informações essenciais deste objeto para o contexto escolhido
2 Desenhe uma classe em UML para representar este objeto, de acordocom as informações que levantou no item anterior
3 Implemente em Java a classe para o comutador e um aplicativo Java(classe Java com método main). Crie um objeto da classe Comutadore invoque alguns de seus métodos.
23/24
![Page 39: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/39.jpg)
Bibliografia
![Page 40: Introdução ao paradigma da orientação a objetosdocente.ifsc.edu.br/mello/poo/poo-aula-07-classes-objetos.pdf · Exercício Comutador (switch) A ˙gura acima apresenta um ativo](https://reader031.vdocuments.pub/reader031/viewer/2022022715/5c1140dd09d3f2b60f8bcb1e/html5/thumbnails/40.jpg)
Leitura obrigatória
CAELUM ENSINO E SOLUÇÕES EM JAVAAPOSTILA CAELUM FJ-11 JAVA E ORIENTAÇÃO A OBJETOShttp://docente.ifsc.edu.br/mello/livros/java
Capítulos 4 e 5
24/24