diff --git a/exercicios/para-casa/exerciciojulia/exj_casa.py b/exercicios/para-casa/exerciciojulia/exj_casa.py new file mode 100644 index 0000000..9b09610 --- /dev/null +++ b/exercicios/para-casa/exerciciojulia/exj_casa.py @@ -0,0 +1,56 @@ +## Exercício de Casa 🏠 +## 👩🏻‍💻 Crie uma classe base chamada Veiculo com os seguintes atributos: + +# - modelo: o modelo do veículo (uma string). +# - ano: o ano de fabricação do veículo (um número inteiro). +# preco: o preço do veículo (um número decimal). +# Na classe Veiculo, implemente um método chamado `calcular_imposto()` que retorna o imposto a ser pago +# pelo veículo. O imposto é calculado como 10% do preço do veículo. + +# Crie uma classe chamada Carro que herda da classe Veiculo. Adicione um atributo adicional: +# - marca: a marca do carro (uma string). +# Na classe Carro, implemente um método chamado desconto() que retorna um desconto de 5% no preço do carro. + +# Crie uma classe chamada Moto que também herda da classe Veiculo. Adicione um atributo adicional: +# - cilindrada: a cilindrada da moto (um número inteiro). + +# Na classe Moto, implemente um método chamado `calcular_imposto()` que calcula o imposto a ser pago +# pela moto. O imposto para motos é de 5% do preço do veículo. + +# Crie instâncias de Carro e Moto, atribuindo valores adequados aos atributos de cada veículo. +# Calcule e imprima o imposto a ser pago por cada veículo usando o método `calcular_imposto()`. + + +class Veiculos: + def __init__(self, modelo, ano, preco): + self.modelo = modelo + self.ano = ano + self.preco = preco + + def calcular_imposto(self): + return self.preco * 0.10 + + +class Carro(Veiculos): + def __init__(self, modelo, ano, preco, marca): + super().__init__(modelo, ano, preco) + self.marca = marca + + def desconto(self): + return self.preco - (self.preco * 0.05) + + +class Moto(Veiculos): + def __init__(self, modelo, ano, preco, cilindrada): + super().__init__(modelo, ano, preco) + self.cilindrada = cilindrada + + def calcular_imposto(self): + return self.preco * 0.05 + + +carro_julia = Carro("C3", 2018, 20000, "Citroen") +moto_pablo = Moto("Lander", 2020, 15000, 50) + +print(carro_julia.calcular_imposto()) +print(moto_pablo.calcular_imposto()) \ No newline at end of file diff --git a/exercicios/para-casa/exerciciojulia/exj_extra.py b/exercicios/para-casa/exerciciojulia/exj_extra.py new file mode 100644 index 0000000..a457b32 --- /dev/null +++ b/exercicios/para-casa/exerciciojulia/exj_extra.py @@ -0,0 +1,72 @@ +## 🧠 Exercício de Herança em Python: Sistema de Gerenciamento de Funcionários (Exercicío Avançado Extra) + +# Você está encarregado de criar um sistema de gerenciamento de funcionários para uma empresa. +# O sistema deve ser capaz de lidar com diferentes tipos de funcionários e calcular seus salários com +# base em suas características específicas. +# Para isso, você precisa implementar a hierarquia de classes apropriada usando herança em Python. + +# Instruções: + +# Crie uma classe base chamada Funcionario com os seguintes atributos: +# - nome: o nome do funcionário. +# - salario: o salário base do funcionário (inicialmente definido como 0). + +# A classe Funcionario deve ter um método chamado `calcular_pagamento()` que retorna o pagamento do +# funcionário. No entanto, este método deve ser definido como um método abstrato (utilizando `pass`) +# uma vez que cada tipo de funcionário (temporário e integral) calculará o pagamento de maneira diferente. + +# Crie uma classe chamada FuncionarioTemporario, que herda da classe Funcionario. +# Esta classe deve ter os seguintes atributos adicionais: + +# - salario_por_hora: o salário por hora do funcionário temporário. +# - horas_trabalhadas: o número de horas trabalhadas pelo funcionário temporário. +# Na classe FuncionarioTemporario, implemente o método `calcular_pagamento()` para calcular o pagamento +# do funcionário temporário com base no salário por hora e nas horas trabalhadas. + +# Crie uma classe chamada FuncionarioIntegral, que também herda da classe Funcionario. +# Esta classe deve ter um atributo adicional: + +# - salario_mensal: o salário mensal do funcionário integral. +# Na classe FuncionarioIntegral, implemente o método `calcular_pagamento()` para calcular o pagamento +# do funcionário integral, que é igual ao seu salário mensal. + +# Crie instâncias de FuncionarioTemporario e FuncionarioIntegral, atribuindo valores adequados aos +# atributos de cada funcionário. + +# Calcule e imprima o pagamento de cada funcionário usando o método `calcular_pagamento()`. + + +class Funcionario: + def __init__(self, nome) -> None: + self.nome = nome + self.salario = 0.0 + + def calcular_pagamento(self): + pass + +class FuncionarioTemporario(Funcionario): + def __init__(self, nome, salario_hora, horas_trab): + super().__init__(nome) + self.salario_hora = salario_hora + self.horas_trab = horas_trab + + def calcular_pagamento(self): + return self.salario_hora * self.horas_trab + +class FuncionarioIntegral(Funcionario): + def __init__(self, nome, salario_mensal): + super().__init__(nome) + self.salario_mensal = salario_mensal + + def calcular_pagamento(self): + return self.salario_mensal + + +salario_deb_temporaria = FuncionarioTemporario ("Debora", 30, 100) +salario_jow_integral = FuncionarioIntegral("Joao", 3000) + +print(salario_deb_temporaria.calcular_pagamento()) +print(salario_jow_integral.calcular_pagamento()) + + +# feito em grupo com: Andreza, Igea, Louise, Thaysa, Maria de Fatima, Marcinha \ No newline at end of file