CST - ADS - PPS - 01 Introducao
CST - ADS - PPS - 01 Introducao
CST - ADS - PPS - 01 Introducao
1
Apresentação
2
Informações Gerais
•Contato:
✔Discord
3
Plano de Ensino e
Cronograma de Aulas
4
•A disciplina exige:
✔Dedicação e compromisso: disciplina.
✔Procurar os professores(as) quando estiverem com
dúvidas.
•Métodos de avaliação
•Nos trabalhos em grupo, até 4 alunos.
5
Agenda
6
O que são Padrões de Projeto?
7
O que são Padrões de Projeto
8
O que são Padrões de Projeto
9
O que é Orientação a Objetos?
Introdução à Orientação a Objetos
10
O que é a Orientação a
Objetos?
11
O que é a Orientação a
Objetos?
12
O que é a Orientação a
Objetos?
Usuário Programador
13
Fundamentos:
Abstração
Introdução à Orientação a Objetos
14
Abstração
15
Abstração
16
Abstração
17
Abstração
18
Abstração
Vitória!
10
• Vamos adicionar o tabuleiro de jogo
(ao lado) ao nosso processo criativo; 9
8
• Como você descreveria este tabuleiro
de forma abstrata? 7
✔ E se o tabuleiro tivesse curvas? 6
5
4
3
2
1
Inicio
19
Abstração
20
Fundamentos:
Reusabilidade
Introdução à Orientação a Objetos
21
Reusabilidade
22
Reusabilidade
23
Reusabilidade
24
Reusabilidade
25
Múltiplas Instâncias
26
Fundamentos:
Extensibilidade e
Manutenibilidade
Introdução à Orientação a Objetos
27
Extensibilidade
28
Manutenibilidade
29
Extensibilidade e Manutenibilidade
30
Extensibilidade e Manutenibilidade
Opções
31
Extensibilidade e Manutenibilidade
32
Identificação de Objetos
Classes e Objetos
33
Identificação de Objetos
34
Identificação de Objetos
35
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;
36
Identificação de Objetos
37
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;
38
Identificação de Objetos
39
O processo de abstração em
OO na prática
Classes e Objetos
40
O processo de abstração em
OO na prática
41
O processo de abstração em
OO na prática
42
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;
o 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.
43
O processo de abstração em
OO na prática
44
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;
o 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;
45
O processo de abstração em
OO na prática
46
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;
o 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;
47
O processo de abstração em
OO na prática
48
Exercícios
49
Definição de Classes
Classes e Objetos
50
Definição de Classes
51
Definição de Classes
52
Definição de Classes
53
54
Definição de Classes
Projeto
Identificar Modelar
Objeto
Utilizar Instanciar
Utilização
55
Diagrama de Classes
Classes e Objetos
56
UML
57
Diagrama de Classes
58
Diagrama de Classes
59
Diagrama de Classes
60
Diagrama de Classes
61
Diagrama de Classes
62
Diagrama de Classes:
atributos
+ nomeDoAtributo : TipoDeDado
Modificador de
public, private, protected, default
acesso
Nome (identificação)
nome do atributo
do atributo
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.
63
Diagrama de Classes:
métodos
* campos opcionais
64
Diagrama de Classes:
software
65
Exercícios
66