Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação I
Curso Superior de Tecnologia em Desenvolvimento de
Software Multiplataforma
Aula 06
3
Na aula anterior ...
Como o próprio nome sugere, na orientação a objetos o termo
herança se refere a algo herdado.
Em Java, a herança ocorre quando uma classe passa a herdar
características (atributos e métodos) definidas em uma outra
4
classe, especificada como sendo sua ancestral ou superclasse.
A técnica da herança possibilita o compartilhamento ou
reaproveitamento de recursos definidos anteriormente em uma
outra classe.
A classe fornecedora dos recursos recebe o nome de
superclasse e a receptora dos recursos de subclasse.
Na aula anterior ...
Uma classe derivada herda a estrutura de atributos e métodos de sua classe
“base”, mas pode seletivamente:
adicionar novos métodos
estender a estrutura de dados
redefinir a implementação de métodos já existentes 5
Cliente Fornecedor
- valorDivida: float - valorCompra: float
Cliente() Fornecedor ()
Cliente(n: String, f: String, v: Fornecedor (n: String, f: String, vc:
float) float)
//Métodos de acesso //Métodos de acesso
print(): void print(): void
Na aula anterior ...
Nos ajuda a lidar com a complexidade.
Generalização
MeiodeComunicacao
7
Especialização
A classe MeiodeComunicacao neste caso é abstrata e pode representar
um domínio.
Na aula anterior ...
Uma classe abstrata é uma classe que: Você pode ter métodos
Provê organização concretos em uma classe
Não possui “instâncias” Classe
abstrata
abstrata
Pode ter métodos abstratos ou concretos
ContaBancaria
# numero: String 8
getcodigo() getcodigo()
setcodigo() setcodigo()
Na aula anterior ...
Pessoa
- nome: String << Seguranca >>
- fone: String
Pessoa()
+validar(): boolean
Pessoa(n: String, f: String)
//Métodos de acesso
print(): void 11
Cliente Fornecedor
- valorDivida: float - valorCompra: float
Cliente() Fornecedor ()
Cliente(n: String, f: String, v: float) Fornecedor (n: String, f: String, vc: float)
//Métodos de acesso //Métodos de acesso
print(): void print(): void
calculaJuros(tx: float): float calculaImpostos(imposto: float): void
Na aula anterior ... Exercício
Forma
+area(): float
+mostra(): void
+perimetro():
float
12
Circunferencia Triangulo
Retangulo
- raio: float - base: float
- altura: float
+Circunferencia(r: float) +Retangulo(b: float, a: float)
+Triangulo(b: float, h: float)
+setCircunferencia(r: float): +area(): float
//métodos de acesso
void
+area(): float +perimetro(): float
+getCircunferencia(): float
+mostra(): void +mostra(): void
+area(): float
+perimetro(): float
+mostra(): void
Herança
13
Herança
14
Herança
15
Cliente Fornecedor
- valorDivida: float - valorCompra: float
Cliente() Fornecedor ()
Cliente(n: String, f: String, v: float) Fornecedor (n: String, f: String, vc: float)
//Métodos de acesso //Métodos de acesso
print(): void print(): void
calculaJuros(tx: float): float calculaImpostos(imposto: float): void
Interfaces - Exemplos
17
Interfaces - Exemplos
18
Interfaces - Exemplos
19
Interfaces - Exemplos
20
Interfaces - Exemplos
▹
21
▹
▹
▹
22
23
24
25
Interfaces - Exemplos
26
Interfaces x Classes Abstratas
27
Forma
Circunferencia Triangulo
- raio: float - base: float
- altura: float 28
+Circunferencia(r: float)
+Triangulo(b: float, h: float)
+setCircunferencia(r: float): void
//métodos de acesso
+getCircunferencia(): float +area(): float
+area(): float +mostra(): void
+perimetro(): float
+mostra(): void
Retangulo
31
Exercício 01
32
Exercício 01
33
Exercício 01
▹
34
▹
▹
▹
Exercício 01
35
Exercício 01
36
Exercício 01
37
Exercício 01
38
Exercício 01
39
Estrutura de Repetição
Desafio
Faça um programa que solicite ao usuário um número, calcule e mostre a
tabuada desse número.
Estruturas de repetição
48
Condição de execução
Variável
Contador Variável
Acumulador
Estrutura de Repetição
Estrutura de repetição do-while
Lê o que foi
digitado como valor
float
50
Variável
Variável Acumulador
Contador
Lê a resposta que
Condição de execução
define se a
repetição
continua
Estrutura de Repetição
while vs do-while
51
Estrutura de Repetição
Estrutura de repetição for
Condição de
execução
53
Variável
Variável
Contador
Acumulador
Tabuada
64
- numero: int
- operador: char
+ Tabuada(numero:int, operador: char)
+ getNumero(): int
+ getOperador(): char
+ setNumero(numero: int): void
+ setOperador(operador: char): void
+ geraTabuada(): String
Estrutura de Repetição
65
Estrutura de Repetição
66
Estrutura de Repetição
▹
67
▹
Estrutura de Repetição
68
Estrutura de Repetição
69
“Coragem é ir de
falha em falha sem
perder o
entusiasmo”
Winston Churchill
Obrigado!
Se precisar …
Prof. Claudio Benossi
Claudio.benossi@fatec.sp.gov.br