Prática de Sobrecarga de Métodos
Neste problema prático, você recebe uma classe ShippingCalculator
com um método chamado CalculateShippingCost. O método deve ser sobrecarregado para suportar diferentes cenários de custos de envio com base no peso e destino.
Sua tarefa é preencher os espaços em branco (___
) apropriadamente para completar os cálculos no método CalculateShippingCost
tanto para envios locais quanto internacionais.
index.cs
CalculateShippingCost
. Therefore the new method needs to have the same name but different parameters. The required parameters are provided in the comments.
using System;
public class ShippingCalculator
{
// Method to calculate shipping cost for local shipments
public double CalculateShippingCost(double weight)
{
// Local shipments have a fixed rate of $5 per kilogram
return weight * 5;
}
// Method to calculate shipping cost for international shipments
// It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string'
public double CalculateShippingCost(double weight, string destinationCountry)
{
// International shipments have a base rate of $10 per kilogram
// Additional $3 per kilogram for shipments to Canada
// Additional $5 per kilogram for shipments to other countries
double baseRate = 10;
double additionalRate = destinationCountry.ToLower() == "canada" ? 3 : 5;
return weight* (baseRate + additionalRate);
}
}
class ConsoleApp
{
static void Main()
{
ShippingCalculator calculator = new ShippingCalculator();
// Test local shipment
double localCost = calculator.CalculateShippingCost(2);
Console.WriteLine($"Local Shipment Cost: ${localCost}");
// Test international shipment to Canada
double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada");
Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}");
// Test international shipment to other countries
double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany");
Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}");
}
}
Tudo estava claro?
Conteúdo do Curso
C# Beyond Basics
2. Estruturas & Enumeradores
C# Beyond Basics
Prática de Sobrecarga de Métodos
Neste problema prático, você recebe uma classe ShippingCalculator
com um método chamado CalculateShippingCost. O método deve ser sobrecarregado para suportar diferentes cenários de custos de envio com base no peso e destino.
Sua tarefa é preencher os espaços em branco (___
) apropriadamente para completar os cálculos no método CalculateShippingCost
tanto para envios locais quanto internacionais.
index.cs
CalculateShippingCost
. Therefore the new method needs to have the same name but different parameters. The required parameters are provided in the comments.
using System;
public class ShippingCalculator
{
// Method to calculate shipping cost for local shipments
public double CalculateShippingCost(double weight)
{
// Local shipments have a fixed rate of $5 per kilogram
return weight * 5;
}
// Method to calculate shipping cost for international shipments
// It has two parameters 'weight' and an additional 'destinationCountry' which is of type 'string'
public double CalculateShippingCost(double weight, string destinationCountry)
{
// International shipments have a base rate of $10 per kilogram
// Additional $3 per kilogram for shipments to Canada
// Additional $5 per kilogram for shipments to other countries
double baseRate = 10;
double additionalRate = destinationCountry.ToLower() == "canada" ? 3 : 5;
return weight* (baseRate + additionalRate);
}
}
class ConsoleApp
{
static void Main()
{
ShippingCalculator calculator = new ShippingCalculator();
// Test local shipment
double localCost = calculator.CalculateShippingCost(2);
Console.WriteLine($"Local Shipment Cost: ${localCost}");
// Test international shipment to Canada
double internationalToCanadaCost = calculator.CalculateShippingCost(2, "Canada");
Console.WriteLine($"International Shipment to Canada Cost: ${internationalToCanadaCost}");
// Test international shipment to other countries
double internationalToOtherCost = calculator.CalculateShippingCost(2, "Germany");
Console.WriteLine($"International Shipment to Other Country Cost: ${internationalToOtherCost}");
}
}
Tudo estava claro?