Sie sind auf Seite 1von 37

Classes e Objetos

Vilson Heck Junior


vilson.junior@ifsc.edu.br
Conteúdo

1. Identificação de Objetos;
2. O processo de abstração em OO na
prática;
3. Definição de Classes;
4. Diagrama de Classes - UML;
Identificação de Objetos
Classes e Objetos
Identificação de Objetos
Ao nos depararmos com um novo problema,
em um diferente cenário:
1. Identificamos os objetos que fazem parte
deste cenário;
2. Separamos apenas os objetos que são
relevantes ao problema em questão;
3. Abstrairemos somente as ações e
atributos relevantes dos objetos
envolvidos;
Identificação de Objetos
Ao nos depararmos com um novo problema,
em um diferente cenário:
1. Identificamos os objetos que fazem
parte deste cenário;
2. Separamos apenas os objetos que são
relevantes ao problema em questão;
3. Abstrairemos somente as ações e
atributos relevantes dos objetos
envolvidos;
Identificação de Objetos
Exemplo:
● Construir um jogo de tabuleiro:
○ Principais objetos:
■ Caixa do jogo;
■ Manual de instruções;
■ Mesa / espaço físico;
■ Cadeiras;
■ Dados;
■ Jogador 1;
■ Jogador 2;
■ Jogador 3;
■ Jogador 4;
■ Tabuleiro;
Identificação de Objetos
Ao nos depararmos com um novo problema,
em um diferente cenário:
1. Identificamos os objetos que fazem parte
deste cenário;
2. Separamos apenas os objetos que são
relevantes ao problema em questão;
3. Abstrairemos somente as ações e
atributos relevantes dos objetos
envolvidos;
Identificação de Objetos
Exemplo:
● Construir um jogo de tabuleiro:
○ Principais objetos:
■ Caixa do jogo;
■ Manual de instruções;
■ Mesa / espaço físico;
■ Cadeiras;
■ Dados;
■ Jogador 1;
■ Jogador 2;
■ Jogador 3;
■ Jogador 4;
■ Tabuleiro;
Identificação de Objetos
Ao nos depararmos com um novo problema,
em um diferente cenário:
1. Identificamos os objetos que fazem parte
deste cenário;
2. Separamos apenas os objetos que são
relevantes ao problema em questão;
3. Abstrairemos somente as ações e
atributos relevantes dos objetos
envolvidos;
O processo de abstração em
OO na prática
Classes e Objetos
O processo de abstração em OO
na prática

● Na programação orientada a objetos


iremos planejar e construir todo o software
com objetos.

● No caso da POO baseada em classes


iremos utilizar as classes para
representamos, de forma abstrata, um
determinado conjunto de objetos.
O processo de abstração em OO
na prática
● Toda Classe será planejada e escrita com
base nos Objetos que precisamos
representar para montar nosso software:
○ Ela irá definir estado e comportamento dos
objetos;
● Os primeiros elementos compositores de
uma classe que iremos definir são:
○ Nome;
○ Atributos;
○ Métodos;
O processo de abstração em OO
na prática
● Nome da Classe:
○ É a identificação da classe;
○ Deve ser um nome que represente seu uso;
○ Procuraremos seguir a mesma convenção
utilizada na linguagem Java:
■ Primeiro caractere deve ser uma letra maiúscula;
■ Demais caracteres minúsculos;
■ Evitar caracteres não ASCII;
● Sem acentuação e cedilha!
■ Caso o nome seja composto, não se utiliza
espaço entre os nomes, apenas a primeira letra
dos demais nomes também serão maiúsculas;
O processo de abstração em OO
na prática
● Exemplos de nome de classes:
○ Carro
○ AlunoEscola
○ CasaDaImobiliaria
● Nomes fora da convenção:
○ X
○ Carro2
○ aluno
○ Maçaneta
○ Carteiraestudante
○ Profissional Autônomo
O processo de abstração em OO
na prática
● Atributos:
○ Representam características ou estados do objeto;
○ Deve ter um nome que represente seu uso;
○ Procuraremos seguir a mesma convenção utilizada
na linguagem Java:
■ Primeiro caractere deve ser uma letra minúscula;
■ Demais caracteres minúsculos;
■ Evitar caracteres não ASCII;
● Sem acentuação e cedilha!
■ Caso o nome seja composto, não se utiliza
espaço entre os nomes, apenas a primeira letra
dos demais nomes também serão maiúsculas;
O processo de abstração em OO
na prática
● Exemplos de nome de atributos:
○ cor
○ nomeCompleto
○ altura
○ parado
● Nomes fora da convenção:
○ X
○ Nome2
○ Endereço
○ data_de_nascimento
○ nomedopai
O processo de abstração em OO
na prática
● Métodos:
○ São funções ou tarefas que podem ser executados
pelo objeto;
○ Deve ter um nome que represente seu uso;
○ Procuraremos seguir a mesma convenção utilizada
na linguagem Java:
■ Primeiro caractere deve ser uma letra minúscula;
■ Demais caracteres minúsculos;
■ Evitar caracteres não ASCII;
● Sem acentuação e cedilha!
■ Caso o nome seja composto, não se utiliza
espaço entre os nomes, apenas a primeira letra
dos demais nomes também serão maiúsculas;
O processo de abstração em OO
na prática
● Exemplos de nome de métodos:
○ abrir()
○ fecharConexao()
○ agendarExecucaoDaRotina()
● Nomes fora da convenção:
○ X()
○ Abrir() ou ABRIR()
○ fechar Conexao() ou fecharconexao()
○ nome()
Exercícios
Identifique os objetos e realize a abstração
das classes utilizando as convenções
apresentadas para os seguintes cenários:
1. Terminal rodoviário;
2. Partida de futebol;
3. Software que calcula a média de números;
Definição de Classes
Classes e Objetos
Definição de Classes
● Qual é o conceito central da tecnologia
“orientada a objetos”?
○ Não são os objetos.
○ Objetos são úteis, mas eles não são
novidades:
■ Cobol e C tem structures;
■ Pascal tem records;
○ Os objetos são importantes para descrever a
execução de um sistema OO, mas em OO
tudo se deriva de uma CLASSE.
Definição de Classes
● As classes são generalizações de objetos;
● Classes são comumente chamadas de
estruturas estáticas:
○ Não mutáveis!
● “Uma classe é um tipo de dado abstrato
equipado com uma possível implementação
parcial”;
○ Traduzido de Meyer, Bertrand. Object-oriented
software construction 2nd ed. Prentice Hall PTR,
New Jersey, 1997.
Definição de Classes

● Todo Objeto é uma instância de alguma


classe;

● Classes são como moldes ou modelos


utilizados para a construção dos objetos:
Definição de Classes
Projeto
Identificar Modelar

Objeto

Problema Atributo Classe


Método

Utilizar Instanciar

Utilização
Diagrama de Classes
Classes e Objetos
UML
● Unified Modeling Language:
○ Linguagem de Modelagem Unificada;
● É uma linguagem de propósito geral
utilizada para a modelagem no campo da
engenharia de software;
● Prove formas padronizadas para visualizar
o desenho de um sistema;
● Será estudada mais a fundo em disciplina
específica: Engenharia de Software;
Diagrama de Classes
● Dentre as várias possibilidades de
visualização de um sistema, o diagrama de
classes é responsável pela representação
do projeto de implementação do software
orientado a objetos;
● É a principal ferramenta utilizada na
modelagem em orientação a objetos:
○ Utilizada no projeto do software, antes de sua
implementação.
Diagrama de Classes
É representado por uma tabela de 3 linhas:
Diagrama de Classes
Na primeira linha é informado o nome da
Classe:
Diagrama de Classes
Na segunda linha são informados e descritos
os atributos da classe:
Diagrama de Classes
Na terceira linha são informados e descritos
os métodos (ações) da classe:
Diagrama de Classes: atributos
Os atributos serão representados seguindo a especificação:
+ nomeDoAtributo : TipoDeDado

Por enquanto, o único modificador de acesso que


Modificador de
utilizarmos é o + (público). Outros modificadores de
acesso
acesso serão estudados no decorrer da disciplina.

Nome (identificação) Iremos definir o nome do atributo conforme as regras


do atributo definidas anteriormente, respeitando a convenção.

Separador do nome e Este sinal deverá estar presente, para evidenciar a


tipo declaração do tipo de dado.

Indica o que será armazenado por este atributo. Pode


Tipo de dado
ser definido por tipos de dados primitivos ou, por outras
associado ao
classes já existentes ou que ainda estão sendo
atributo
construídas.
Diagrama de Classes: métodos
Os métodos serão representados seguindo a especificação:

+ nomeDaOperacao (argumento: Tipo) : TipoDeDado


Modificador de
Mesmo que em atributos.
acesso

Nome (identificação) Iremos definir o nome do método conforme as regras


da operação definidas anteriormente, respeitando a convenção.

Serão informados dados adicionais que são


Argumentos*
necessários para a execução desta tarefa pelo objeto.

Separador do nome Este sinal deverá estar presente apenas quando o


e tipo* método tiver um retorno (função).

Tipo de dado* Indica o que será retornado por este método (função).

* campos opcionais
Diagrama de Classes: software
● Para realizar a modelagem dos diagramas
de classe, iremos utilizar um software:
○ Software Ideas Modeler
○ www.softwareideas.net
Exercícios
No software, faça a representação do diagrama
de classes:
1. Dos diagramas iniciados em exercício anterior:
a. Terminal rodoviário;
b. Partida de futebol;
c. Software que calcula a média de números;
2. Software que faz o cadastro de clientes de uma loja;
3. Software que faz o controle de estoque de um
almoxarifado;
Considerações:
Diagrama de Classes
● Diferentes perspectivas:
○ É possível construir diagramas de classes em
diferentes níveis de detalhamento ou
abstração
● Outros elementos ainda não discutidos:
(serão vistos em próximas aulas)
○ Definição de pacotes;
○ Associações e uso entre diferentes classes;
○ Herança;
■ Classes abstratas;
○ Interfaces;

Das könnte Ihnen auch gefallen