Escolar Documentos
Profissional Documentos
Cultura Documentos
BACK-END
Classe abstrata e Interface
Codificação Back-End
Meios de
Comunicação
Especialização
Codificação Back-End
Classe abstrata
ContaCorrente ContaPoupanca
Codificação Back-End
ContaCorrente ContaPoupanca
Classe # numero: String
concreta + setNumero(numero: String): void + setNumero(numero: String): void
+ getNumero(): String + getNumero(): String
Codificação Back-End
Classe abstrata
Métodos abstratos
Classes abstratas
Conta
- agencia: String
- conta: String
Atributos da Classe Corrente: - saldo: double
Corrente Poupança
- limite: double - aniversario: inf
+sacar(valor : double): void +sacar(valor : double): void
Codificação Back-End
Classes abstratas
namespace projeto // Corrente.cs – classe filha
{
1 reference namespace projeto
public abstract class Conta {
{ 2 references
0 references public class Corrente : Conta
public string agencia {get;set} {
0 references 0 references
public string conta {get;set} double limite {get;set}
6 references 1 reference
public double saldo {get;set} public override void Sacar(double valor)
1 reference {
public abstract void Sacar(double valor) base.saldo = base.saldo - valor;
} }
} }
}
Codificação Back-End
Não tem atributo (exceto constante), nem definição de método e nem construtor (não instancia)
Implementação de Interfaces
• Interface → contrato
<<Cliente>>
• Classe deve implementar todos
getcodigo() Dependência
os métodos da interface
• Mecanismo para herança múltipla setcodigo()
Contrato
Vantagens da Interface
Exemplos
Pessoa
- nome: String
- fone: String <<Seguranca>>
Cliente Fornecedor
- valorDivida: float - valorCompra: float
Cliente() Fornecedor() A classe fornecedor implementa
Cliente(n: String, f: String, v: float) Fornecedor(n: String, f: String, vc: float) a interface segurança→ é
//Metodos de acesso //Metodos de acesso obrigada a implementar o
print(): void print(): void método validar();
calculaJuros (tx: float): float calculaImposto (imposto: float): float
Codificação Back-End
Interface
<< Interface >>
Regras
Interface
Classe abstrata Conta herda a interface Classe Corrente (filha de Conta) →
Regras → herda o método Sacar(); implementa o método Sacar()
// Conta.cs // Corrente.cs – classe filha
namespace projeto
{ namespace projeto
public abstract class Conta : Regras {
{ public class Corrente : Conta
public string agencia {get; set;}
public string conta {get; set;} {
public string saldo {get; set;} double limite {get;set}
pubic void Depositar (double valor) {
this.saldo = this.saldo + valor; public override void Sacar(double valor)
}
{
// método virtual pode ser substituído por qualquer classe base.saldo = base.saldo - valor;
que o herde }
public virtual void Sacar(double valor)
{ }
base.saldo = base.saldo - valor; }
}
}
}
Codificação Back-End
Interface: implementação
// Regras.cs // Program.cs