Не знаю как написать метод, позволяющий ввести данные в объект класса
Я сделал класс Smartphone, у которого есть несколько полей и свойств к ним.
class Smartphone
{
private string manufacturer;
private string model;
private string os;
private int os_ver;
private string cpu;
public string Manufacturer { get; set; }
public string Model { get; set; }
public string OS { get; set; }
public int OS_ver { get; set; }
public string CPU { get; set; }
// Конструктор со всеми значениями
public Smartphone(string manufacturer, string model, string os, int os_ver, string cpu )
}
Я хочу написать метод, который позволит пользователю ввести данные в эти поля. Но я не знаю как мне обозначить объект, который я буду передавать в метод. Если проще говоря, как мне обозначить объект класса, которого по сути еще не существует, и более того, метод должен возвращать данные разных типов (string и int) к примеру:
public "типы данных, которые нужно вернуть" InputInfo ( объект класса, я не знаю как его тут обозначить )
{
"код метода"
}
Метод должен вернуть значения полей Manufacturer, Model, OS, OS_ver и CPU Я начинающий программист
Весь код
class Smartphone
{
private string manufacturer;
private string model;
private string os;
private int os_ver;
private string cpu;
public string Manufacturer { get; set; }
public string Model { get; set; }
public string OS { get; set; }
public int OS_ver { get; set; }
public string CPU { get; set; }
// Конструктор со всеми значиниями
public Smartphone(string manufacturer, string model, string os, int os_ver, string cpu )
{
this.manufacturer = manufacturer;
this.model = model;
this.os = os;
this.os_ver = os_ver;
this.cpu = cpu;
}
//Конструктор по умолчанию
public Smartphone()
{
manufacturer = "Неизвестно";
model = "Неизвестно";
os = "Неизвестно";
os_ver = 0;
cpu = "Неизвестно";
}
public void DisplayInfo()
{
Console.WriteLine("==============================================");
Console.WriteLine($"Производитель - {manufacturer}");
Console.WriteLine($"Модель - {model}");
Console.WriteLine($"Операционная система - {os}");
Console.WriteLine($"Версия ОС - {os_ver}");
Console.WriteLine($"Процессор - {cpu}");
Console.WriteLine("==============================================");
}
}
Ответы (1 шт):
Начнем с того, что у вас нет конструктора, а есть только его сигнатура, вы забыли про тело метода. Код класса из вопроса даже не скомпилируется. Во-вторых вы используете автосвойства, вам не нужны в этом случае поля. И последнее, правила именования, я привел немного названия свойств в порядок, получилось так:
class Smartphone
{
public string Manufacturer { get; set; }
public string Model { get; set; }
public string OS { get; set; }
public int OSVersion { get; set; }
public string Cpu { get; set; }
public Smartphone(string manufacturer, string model, string os, int osVersion, string cpu)
{
Manufacturer = manufacturer;
Model = model;
OS = os;
OSVersion = osVersion;
Cpu = cpu;
}
}
Ну а ввод очень простой.
public Smartphone InputInfo()
{
Console.Write("Введите производителя: ");
string manufacturer = Console.ReadLine();
Console.Write("Введите модель: ");
string model = Console.ReadLine();
Console.Write("Введите ОС: ");
string os = Console.ReadLine();
Console.Write("Введите версию ОС: ");
int osVersion = int.Parse(Console.ReadLine());
Console.Write("Введите процессор: ");
string cpu = Console.ReadLine();
return new Smartphone(manufacturer, model, os, osVersion, cpu);
}
Ну а использовать так
Smartphone smartphone = InputInfo();
Console.WriteLine("Вы ввели:");
Console.WriteLine(smartphone.Manufacturer);
Console.WriteLine(smartphone.Model);
Console.WriteLine(smartphone.OS);
Console.WriteLine(smartphone.OSVersion);
Console.WriteLine(smartphone.Cpu);