class Empregado { var nome: String var salario: Double { didSet{ if salario > oldValue { print("(nome) recebeu um aumento! Novo salário: (salario), salário anterior: (oldValue).") } else if salario < oldValue { print("(nome) teve uma redução de salário! Novo salário: (salario), salário anterior: (oldValue).") } else { print("(nome) continua com o mesmo salário de (salario).") } } }
init(nome: String, salario: Double) {
self.nome = nome
self.salario = salario
}
}
class Gerente: Empregado { var departamento: String
init(departamento: String, nome: String, salario: Double) {
self.departamento = departamento
super.init(nome: nome, salario: salario)
}
}
var gerente1 = Gerente(departamento: "Ti", nome: "Barbara", salario: 6000) print("Gerente (gerente1.nome) do departamento de (gerente1.departamento) com salario de (gerente1.salario)")
var gerente2 = Gerente(departamento: "Ti", nome: "Leandro", salario: 3000) print("Gerente (gerente2.nome) do departamento de (gerente2.departamento) com salario de (gerente2.salario)")
class Vendedor: Empregado { var percentualComissao: Double
init(nome: String, salario: Double, percentualComissao: Double) {
self.percentualComissao = percentualComissao
super.init(nome: nome, salario: salario)
}
func calculoDeSalario(numeroDeVendas: Double) -> Double {
let valorPorVenda = 50.0
let comissaoPorVenda = valorPorVenda * percentualComissao
let totalComissao = comissaoPorVenda * numeroDeVendas
return salario + totalComissao
}
}
let empregado = Empregado(nome: "Leandro", salario: 1000)
print("Empregado \(empregado.nome) com salario de \(empregado.salario)")
let vendedor = Vendedor(nome: "Joraley", salario: 1000, percentualComissao: 0.10)
let salarioFinal = vendedor.calculoDeSalario(numeroDeVendas: 20.0)
print("Vendedor: \(vendedor.nome), Salário Base: \(vendedor.salario), Salário Final: \(salarioFinal)")