Ещё одно небольшое задание на c#. Про наследование. Задание таково:
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка),
числом цилиндров, мощностью. Определить методы переназначения и изменения мощности.
Создать производный класс Lorry (грузовик), характеризуемый также грузоподъемностью кузова.
Определить функции переназначения марки и изменения грузоподьемности.
Реализировать вывод на экран, методы получения значений полей и методы установки значений полей, а также необходимые конструкторы (если это не указано в задании явно).
Конструкторы и методы обязательно должны проверять параметры на допустимость; в случае неправильных данных - выводить значение об ошибке и заканчивать работу. Преобразование в строку реализовать в виде функции преобразования string.
using System;
namespace MyProject
{
static class Program
{
public static int Main(string[] args)
{
int power = 0;
string model = "";
Console.WriteLine("Input power:");
try
{
power = int.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine("Wrong data");
Console.ReadKey();
return -1;
}
Lorry l = new Lorry(power);
Console.WriteLine(l.ToString());
Console.WriteLine("Input new model:");
try
{
model = Console.ReadLine();
}
catch
{
Console.WriteLine("Wrong data");
Console.ReadKey();
return -1;
}
l.ChangeModel(model);
Console.WriteLine(l.ToString());
Console.ReadKey();
return 0;
}
}
public abstract class Car
{
string model;
int cylinder;
int power;
public string Model
{
get
{
Console.WriteLine("Current Model = {0}.", model);
return model;
}
set
{
model = value;
Console.WriteLine("Change model to {0}.", model);
}
}
public int Cylinder
{
get { return cylinder; }
set { cylinder = value; }
}
public int Power
{
get
{
Console.WriteLine("Current Power = {0}.", power);
return power;
}
set
{
power = value;
Console.WriteLine("Change power to {0}.",power);
}
}
public Car()
{
Cylinder = 4;
}
public void AssignPower(int p)
{
Console.WriteLine("Change!");
Power = p;
}
public void ChangePower(int p)
{
Console.WriteLine("Change!");
Power += p;
}
public override string ToString()
{
return "\nSummary:\nModel: " + Model + "\nCylinder: " + Cylinder + "\nPower: " + power+"\n";
}
}
public class Lorry : Car
{
int capacity;
public int Capacity
{
get
{
return capacity;
}
set
{
capacity = value;
}
}
public Lorry(int p)
: base()
{
Power = p;
Model = "PowerModel";
}
public Lorry(string model)
: base()
{
Model = model;
Power = 1;
}
public void ChangeModel(string newModel)
{
Model = newModel;
}
}
}
Создать базовый класс Car (машина), характеризуемый торговой маркой (строка),
числом цилиндров, мощностью. Определить методы переназначения и изменения мощности.
Создать производный класс Lorry (грузовик), характеризуемый также грузоподъемностью кузова.
Определить функции переназначения марки и изменения грузоподьемности.
Реализировать вывод на экран, методы получения значений полей и методы установки значений полей, а также необходимые конструкторы (если это не указано в задании явно).
Конструкторы и методы обязательно должны проверять параметры на допустимость; в случае неправильных данных - выводить значение об ошибке и заканчивать работу. Преобразование в строку реализовать в виде функции преобразования string.
using System;
namespace MyProject
{
static class Program
{
public static int Main(string[] args)
{
int power = 0;
string model = "";
Console.WriteLine("Input power:");
try
{
power = int.Parse(Console.ReadLine());
}
catch
{
Console.WriteLine("Wrong data");
Console.ReadKey();
return -1;
}
Lorry l = new Lorry(power);
Console.WriteLine(l.ToString());
Console.WriteLine("Input new model:");
try
{
model = Console.ReadLine();
}
catch
{
Console.WriteLine("Wrong data");
Console.ReadKey();
return -1;
}
l.ChangeModel(model);
Console.WriteLine(l.ToString());
Console.ReadKey();
return 0;
}
}
public abstract class Car
{
string model;
int cylinder;
int power;
public string Model
{
get
{
Console.WriteLine("Current Model = {0}.", model);
return model;
}
set
{
model = value;
Console.WriteLine("Change model to {0}.", model);
}
}
public int Cylinder
{
get { return cylinder; }
set { cylinder = value; }
}
public int Power
{
get
{
Console.WriteLine("Current Power = {0}.", power);
return power;
}
set
{
power = value;
Console.WriteLine("Change power to {0}.",power);
}
}
public Car()
{
Cylinder = 4;
}
public void AssignPower(int p)
{
Console.WriteLine("Change!");
Power = p;
}
public void ChangePower(int p)
{
Console.WriteLine("Change!");
Power += p;
}
public override string ToString()
{
return "\nSummary:\nModel: " + Model + "\nCylinder: " + Cylinder + "\nPower: " + power+"\n";
}
}
public class Lorry : Car
{
int capacity;
public int Capacity
{
get
{
return capacity;
}
set
{
capacity = value;
}
}
public Lorry(int p)
: base()
{
Power = p;
Model = "PowerModel";
}
public Lorry(string model)
: base()
{
Model = model;
Power = 1;
}
public void ChangeModel(string newModel)
{
Model = newModel;
}
}
}
Комментариев нет:
Отправить комментарий