faculdade de tecnologia de são caetano do sul 1 prof. msc. flávio viotti introdução a...
TRANSCRIPT
![Page 1: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/1.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
1
Introdução a Orientação a Objetos
Paradigmas: “Paradigma é um conjunto de regras que estabelecem fronteiras e descrevem como resolver os problemas dentro destas fronteiras.
Os paradigmas influenciam nossa percepção; ajudam-nos a organizar e a coordenar a maneira como olhamos para o mundo...”
Em Ciência da Computação: Paradigmas explicam como os elementos que compõem um programa são organizados e como interagem entre si.
![Page 2: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/2.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
2
Introdução a Orientação a Objetos
Conceito No mundo real, tudo é objeto!; Os objetos se relacionam entre si de diversas
maneiras; Um programa orientado a objetos é estruturado
como uma comunidade de agentes que interagem entre si, denominados objetos.;
Cada objeto tem um papel a cumprir; Cada objeto oferece um serviço ou realiza uma
ação que é usada por outros membros da comunidade;
Exemplo real: montagem de um computador
![Page 3: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/3.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
3
Introdução a Orientação a Objetos
![Page 4: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/4.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
4
Introdução a Orientação a Objetos
Cada componente é independente dos demais. Para quem está montando, interessa apenas como
os componentes interagem entre si: a placa de vídeo encaixa no slot ? O monitor funciona com essa placa ? A CPU é compatível com a placa-mãe ?
![Page 5: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/5.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
5
Introdução a Orientação a Objetos
Princípios fundamentais Auxiliam a administrar a complexidade; Guiam toda a tarefa de modelagem; São eles:
Abstração; Encapsulamento; Modularidade; Hierarquia.
“Modelos mentais”: visão simplificada do mundo construída por cada um em cada situação;
Abstrair consiste em ignorar aspectos irrelevante e concentrar nos principais.
![Page 6: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/6.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
6
Introdução a Orientação a Objetos
O que você entende por essas figuras???
Se você usar a OO, o que você entende por essas figuras??
![Page 7: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/7.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
7
Introdução a Orientação a Objetos
Abstração de Dados: Um tipo é definido por suas operações; Ex.: Um tipo pilha é definido por suas operações
empilhar e desempilhar.
Abstração de Procedimentos: Uma operação com efeito bem definido pode ser tratada
como atômica, mesmo que ela faça uso de outras operações de mais baixo nível;
calcularSalarioLiquido: definida em termos de obterSalarioBruto, calcularImposto, calcularDescontos, etc.
Separar os aspectos externos (o que faz) dos aspectos internos (como faz): Aspectos externos = interface, contrato; Aspectos internos = implementação.
![Page 8: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/8.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
8
Introdução a Orientação a Objetos
Modularidade: Decomposição do sistema em módulos:
Coesos (baixo acoplamento); Autônomos; De interface simples e coerente.
Fundamental para o reuso e extensão.
Hierarquia: É uma forma de arrumar as abstrações e simplificar o
entendimento do problema; Sinergia para administrar a complexidade:
Abstração auxilia a identificar os conceitos relevantes do mundo real;
Encapsulamento oculta a visão interna das abstrações identificadas;
Modularidade nos dá um meio de agrupar logicamente abstrações relacionadas;
Por fim, abstrações formam hierarquias.
![Page 9: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/9.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
9
Classes e Objetos
Classes: São tipos definidos pelo usuário que contém definições de atributos gerais sobre um tema, além de tarefas possíveis de serem realizadas sobre estas características. O diagrama abaixo ilustra uma classe chamada Pessoa:
PessoaNomeCPFIdadeSexoimprime()cadastra()
![Page 10: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/10.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
10
Classes e Objetos
Classe Pessoa
JoãoCarla Ana
Objetos ou Instâncias da Classe Pessoa
![Page 11: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/11.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
11
Classes e Objetos
Atributos de uma classe:
São as características gerais definidas em uma classe, como por exemplo: cor, tamanho, nome, ordem, etc. São também chamados de dados-membro.
Serviços (ou tarefas) de uma classe:
São as atividades realizadas sobre os atributos da classe. Tomando como exemplo a classe Pessoa, a tarefa imprime() toma o conteúdo dos atributos e os exibe na tela. Serviços são comumente chamados de métodos, e são definidos na classe da mesma forma como se define uma função em C.
![Page 12: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/12.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
12
Classes e Objetos
Objetos: São dados definidos a partir de uma classe. São também chamados de instâncias de classes. Para uma mesma classe é possível definir mais de um objeto, cada um com suas características particulares. Observe a tabela a seguir:
Nome: AlexandreObjeto 01 CPF: 111.254.648-77
Idade: 20Sexo: MNome: Maria
Objeto 02 CPF: 239.745.957-35 imprime()Idade: 36 cadastra()Sexo: FNome: Juarez
Objeto 03 CPF: 001.895.457-47Idade: 45Sexo: F
![Page 13: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/13.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
13
Programação Orientada a Objetos
Na programação estruturada, uma seqüência de instruções é executada, de forma linear, seguindo um fluxo pré determinado, de acordo com o algoritmo desenvolvido.
Na programação orientada a objetos, a seqüência das operações depende da necessidade do usuário, podendo ser completamente diferente em diferentes execuções de um mesmo programa.
A partir do ponto em que uma classe é definida, um ou mais objetos são instanciados, e para cada objeto, um conjunto de características. Este número é imprevisível, pois, como já mencionado, depende das necessidades do usuário. Daí o nome: Programação Orientada a Objetos.
![Page 14: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/14.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
14
Programação Orientada a Objetos
Mas o fato de ser possível definir, além dos atributos, diversos métodos para uma classe, não é suficiente para conceituar a Orientação a Objetos. Existem muitos fatores que tornam a orientação a objetos tão poderosa. Estes fatores serão definidos a seguir.
![Page 15: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/15.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
15
Programação Orientada a Objetos - Conceito
EncapsulamentoO encapsulamento é aplicado aos atributos da classe e, portanto, seu efeito é aplicado aos objetos. Encapsular significa proteger, ou mesmo, esconder um atributo. Quando desejamos limitar, ou controlar o conteúdo de um atributo, a atribuição deve ser realizada por meio de métodos, que se encarregam de verificar o valor atribuído antes de efetivar a atribuição ao atributo. Em outras palavras, o acesso a atributos encapsulados é realizado de forma indireta. Veja o diagrama abaixo:
![Page 16: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/16.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
16
Programação Orientada a Objetos - Conceito
HerançaConsiste em reaproveitar o que já foi desenvolvido por outras classes na definição de uma nova classe. Neste sentido, a nova classe é chamada de subclasse, classe filha ou classe derivada.
A classe que deu origem à classe derivada é clamada de classe base, superclasse ou classe pai.
Considere as duas classes:Aluno ProfessorNome NomeCPF CPFIdade IdadeSexo SexoRM DisciplinaCurso SalarioAno N. Turmas
![Page 17: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/17.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
17
Programação Orientada a Objetos - Conceito
HerançaComparando com a classe Pessoa, os atributos Nome, CPF, Idade e Sexo são comuns às duas classes: Aluno e Professor.
Uma vez que a classe Pessoa tenha sido desenvolvida, ela pode ser reaproveitada nas duas novas classes: Aluno e Professor, através da Herança (ou derivação, como é muitas vezes chamada).
Nesse caso é possível dizer que as classes Aluno e Professor são subclasses ou classes filhas e que a classe pessoa é uma classe mãe ou superclasse.
![Page 18: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/18.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
18
Programação Orientada a Objetos - Conceito
Herança
PessoaNomeCPF
mostraNotas() IdadeSexo
Aluno ProfessorRM DisciplinaCurso SalarioAno N. Turmas
![Page 19: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/19.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
19
Programação Orientada a Objetos - Conceito
Herança
Podemos observar que as classes Aluno e Professor possuem agora somente atributos a ela pertinentes.
Estamos diante dos conceitos de Generalização e Especialização.
A generalização ocorre por exemplo quando separamos os atributos mais genéricos da classe Aluno criando a classe Pessoa. Ao contrário quando estamos na classe Pessoa e separamos os atributos mas específicos estamos fazendo uma especialização.
![Page 20: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/20.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
20
Programação Orientada a Objetos - Conceito
PolimorfismoComo o nome sugere, Polimorfismo quer dizer Diferentes Formas. Em termos de Orientação a Objetos, Polimorfismo significa utilizar o mesmo método em papéis diferentes, de acordo com a classe onde está sendo definido, podendo inclusive aproveitar informações de outras classes, desde que tenha uma relação de herança.
Existe um tipo especial de polimorfismo para métodos definidos na mesma classe, porém com listas de parâmetros diferentes. A este tipo especial chamamos de Sobrecarga de Métodos (overloading).
Lembre-se o polimorfismo só existe caso o método possua sempre a mesma assinatura.
![Page 21: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/21.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
21
Programação Orientada a Objetos - Conceito
PolimorfismoRetornando às classes Aluno e Professor, verifique que ambas possuem os métodos imprime() e cadastra(), cada um com seu objetivo, mas por estarem em classes diferentes, uma não interfere na outra. Mas o objetivo dos métodos é praticamente o mesmo. Isso quer dizer que, da mesma forma que podemos reaproveitar classes, podemos também reaproveitar métodos, através do Polimorfismo.
AlunoRMCursoAnoimprime()cadastra()mostraNotas()
ProfessorDisciplinaSalarioN. Turmasimprime()cadastra()mostraSalario()
![Page 22: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/22.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
22
Programação Orientada a Objetos - Conceito
Polimorfismo
PessoaNomeCPFIdadeSexoimprime()cadastra()
Aluno ProfessorRM DisciplinaCurso SalarioAno N. Turmasimprime() imprime()cadastra() cadastra()mostraNotas() mostraSalario()
![Page 23: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/23.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
23
Programação Orientada a Objetos - Conceito
Resolva a lista de exercícios número 1.
![Page 24: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/24.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
24
Representação Gráfica com UML
Na UML existem diagramas que representam de diversos aspectos um determinado sistema.
Mas antes é preciso que saibamos alguns conceitos gerais dentro do diagrama de classes.
![Page 25: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/25.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
25
Representação Gráfica com UML
VisibilidadeA visibilidade indica por quem uma propriedade (atributo ou operação) pode ser utilizada.
+ ou public: A propriedade será vista e usada dentro da classe que foi declarada, em qualquer elemento externo e nas classes descendentes.
# ou protected: A propriedade será vista e usada apenas dentro da classe na qual foi declarada e pelas classes descendentes.
- ou private: A propriedade será vista e usada apenas dentro da classe na qual foi declarada.
~ ou package: A propriedade poderá ser vista e usada por elementos que estejam declarados dentro do mesmo pacote no qual a classe esta inserida.
![Page 26: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/26.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
26
Representação Gráfica com UML
MultiplicidadeIndica uma faixa de cardinalidade permitida a um elemento, isto é, a quantidade de instâncias possíveis em um relacionamento.
Mulher
CriançasHomen
Pode ser casado com: nenhuma ou 1 (0..1)
É pai de: nenhuma ou várias (0..*)
![Page 27: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/27.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
27
Representação Gráfica com UML
Multiplicidade
A multiplicidade dever ser especificada no seguinte formato: limite inferior seguido de dois pontos e limite superior. limite-inferior .. limite-superior
Caso possua um asterisco (*), significa que temos uma faixa infinita de números inteiros e não negativos.
0..1 (valor opcional) 1 ou 1..1 (exatamente um) * ou 0..* (qualquer valor inteiro não-negativo) 1..* (qualquer valor inteiro positivo)
![Page 28: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/28.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
28
Representação Gráfica com UML
EscopoO escopo determina se a propriedade poderá ser acessada apartir somente das instâncias da classe ou diretamente da classe sem a existência de uma instância.
Seja o exemplo de uma classe Funcionario, que possui duas instâncias chamadas objetoP e objetoA, onde cada uma delas representa os funcionarios Pedro e Augusto respectivamente. Para descobrirmos o salarios de cada um basta fazer a seguinte referência:
objetoP.salario retorna o salario de Pedro = R$ 500,00objetoA.salario retorna o salario de Augusto= R$ 1500,00
... e se colocassemos a seguinte referência:Funcionario.pisoSalarial ????????????????
![Page 29: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/29.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
29
Representação Gráfica com UML
Escopo
No exemplo anterior, ao se fazer referência à classe podemos obter um valor de retorno sem a necessidade da criação de instâncias.
Isso em pode ser útil em diversos casos, mas é bom tomar cuidado pois essa propriedade terá sempre um único valor independente do número de instâncias que exista para essa classe, veja:
objetoP.pisoSalarial retorna = R$ 350,00 objetoA.pisoSalarial retorna = R$ 350,00
Funcionario.pisoSalarial retorna = R$ 350,00
A definição do escopo de uma propriedade por ser feito sublinhando-se a propriedade ou utilizando o símbolo ($).
![Page 30: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/30.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
30
Representação Gráfica com UML
Representando uma Classe
+operacaoEvento 1()+operacaoEvento 2() : bool+operacaoEvento 3() : string
-atributo 1 : bool#atributo 2 : string-atributo n
Classe
Nome da Classe
Lista de Atributos com tipo de Dados
Lista de Operações
![Page 31: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/31.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
31
Representação Gráfica com UML
Herança / Generalização
+fazerAniversario()
-nome : string-idade : byte
Pessoa
+emissaoBoletim()
-matricula : string
Aluno
+assinarPonto() : bool
-numeroDeAulas : int
Professor
![Page 32: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/32.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
32
Representação Gráfica com UML
Agregação
Corresponde a um caso particular de associação (apenas associações binárias) utilizada para representar um relacionamento “todo-parte”.
Ocorre quando a “parte” pode existir sem o “todo” e o “todo” não pode existir sem a “parte”.
O fato de uma associação ser por agregação ou não pode depender muito sobre qual o ponto de vista o analista esta observando o modelo.
Veja os exemplos:
![Page 33: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/33.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
33
Representação Gráfica com UML
Neste exemplo a CPU e o Monitor podem ser utilizados em outro computador, ou seja, podem existir sozinhos.Por outro lado o Computador pode não ser um computador sem CPU
![Page 34: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/34.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
34
Representação Gráfica com UML
Composição
Também chamado de agregação por composição, é uma variação mais poderosa da agregação.
Na composição a classe “parte” perde sua identidade caso não esteja associada com a classe “todo”, e portanto se a classe “todo” for destruída, todas as classes “parte” também o serão.
A classe “todo” tem total responsabilidade pela gestão de suas partes, principalmente criação e remoção.
É representada por um losângo preenchido do lado da classe “todo”.
![Page 35: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/35.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
35
Representação Gráfica com UML
Composição
Janela
BarraRolagem
1
0..2
NotaFiscal
ItensProduto
1
1..*
![Page 36: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/36.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
36
Representação Gráfica com UML
Classes de Associação
Essas classes representam uma associação que possui propriedades de classes como atributos, operações, e outras associações.
Empresa Empregado
-salário : decimal-dataDeInício : string
Emprego
*
-Emprega
*
![Page 37: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/37.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
37
Representação Gráfica com UML
Resolva a lista de exercícios número 2.
![Page 38: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/38.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
38
Modelando UML em Java
![Page 39: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/39.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
39
Modelando UML em Java
![Page 40: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/40.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
40
Modelando UML em Java
![Page 41: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/41.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
41
Modelando UML em Java
![Page 42: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/42.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
42
Modelando UML em Java
![Page 43: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/43.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
43
Modelando UML em Java
![Page 44: Faculdade de Tecnologia de São Caetano do Sul 1 Prof. Msc. Flávio Viotti Introdução a Orientação a Objetos Paradigmas: Paradigma é um conjunto de regras](https://reader036.vdocuments.pub/reader036/viewer/2022062318/552fc0f8497959413d8b5429/html5/thumbnails/44.jpg)
Prof. Msc. Flávio Viotti
Facu
ldade d
e T
ecn
olo
gia
de S
ão C
aeta
no d
o S
ul
44
Referência Bibliográfica
.