Skip to content

Latest commit

 

History

History
73 lines (59 loc) · 1.65 KB

24.md

File metadata and controls

73 lines (59 loc) · 1.65 KB

Pergunta

24 - Considera o seguinte código:

public struct Passenger
{
    private double weight;
    public double Weight
    {
        get { return weight; }
        set { if (value < 5) weight = 5; else weight = value; }
    }
}
public class Vehicle
{
    public double Value { get; }
    public Vehicle(double value) { Value = value; }
}
public class Car : Vehicle
{
    private Passenger[] passengers;
    public Car(double value, int numPassengers, float avgWeight) : base(value)
    {
        Random r = new Random();
        passengers = new Passenger[numPassengers];
        for (int i = 0; i < numPassengers; i++)
        {
            passengers[i] = new Passenger()
            {
                Weight = avgWeight + r.Next(-10, 10)
            };
        }
    }
}

a) Escreve uma linha de código que: a) crie uma instância de Car com valor (value) 2550.0 e três Passengers com peso médio (avgWeight) 70; e, b) guarde essa instância numa variável do tipo Vehicle.

b) Adiciona um método à classe Car chamado GetTotalWeight() que retorne o peso total dos passageiros numa instância de Car.

Soluções

Solução 1

a)

Vehicle audi = new Car(2550.0d, 3, 70.0f);

b)

// Car.cs

public double GetTotalWeight()
{
    double t = 0;

    foreach(Passenger p in passengers)
    {
        t += p.Weight;
    }

    return t;
}

Por Rafael Castro e Silva