Upload
lcbj
View
243
Download
2
Embed Size (px)
Citation preview
Encapsulamento
En
cap
sula
men
to
Herança
Her
ança
Her
ança
Her
ança
Herança
class CalculadoraFesta { protected int numeroPessoas; protected bool decoracaoDiferenciada; } class CalculadoraFestaAniversario:CalculadoraFesta { private EscritaEmBolo escritaEmBolo; private int tamanhoBolo; public CalculadoraFestaAniversario(int numPessoas, bool decDiferenciada, string textoBolo) { }
}
Herança – Subtipo e Casting
class ClienteFesta { static void Main(string[] args) { CalculadoraFesta calc=null; if ('C'.Equals(digitadoTipoFesta)) { calc = new CalculadoraFestaCoquetel(numPess, saudavel, decDiff); } else if ('A'.Equals(digitadoTipoFesta)) { calc = new CalculadoraFestaAniversario(numPess, decDiff, texto); } float total = calc.calcularTotalFesta(); //Casting CalculadoraFestaCoquetel calcCoq = (CalculadoraFestaCoquetel)calc; calcCoq.calcularValorBebidas(); } }
Tipos Primitivos
Cas
tin
g
Classes Abstratas e Polimorfismo
abstract class CalculadoraFesta { public abstract float calcularTotalFesta(); } class CalculadoraFestaCoquetel:CalculadoraFesta { public override float calcularTotalFesta() { } }
PolimorfismoSobrescrita (Override)
Construtores
abstract class CalculadoraFesta { protected int NumeroPessoas{get;set;} private bool decoracaoDiferenciada; public CalculadoraFesta(int numeroPessoas, bool decoracaoDiferenciada) { NumeroPessoas=numeroPessoas; this.decoracaoDiferenciada = decoracaoDiferenciada; } } class CalculadoraFestaCoquetel:CalculadoraFesta { private bool bebidaSaudavel; public CalculadoraFestaCoquetel(int numPessoas, bool bebSaudavel, bool decDiferenciada) : base(numPessoas, decDiferenciada) { this.bebidaSaudavel = bebSaudavel; } }
Comida$25/p
Suco$5/p
-%5 total
BebidaSAUDAVEL
Álcool$20/p
DecoraçãoDIFERENC.
Diferenc.$50 +$10/p
Normal$30 +$7.5/p
Bolo4p ou >4p
8 cm$40
16 cm$75
TextoBolo$0.25
<16 letras>
8 cm
<40 letras>
16 cm
Coleções
Enumerações
Gen
eric
s
Generics
Fila
e P
ilha
Exceções
Exc
eçõ
es
Interfaces
“Herança” Múltipla
Inte
rfac
es
C#
Msc Luiz Barboza