0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 20
1

Class vehicle/truck

06.03.2019, 02:02. Показов 3332. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,
Создайте пожалуйста программу из данного задания,используя простые переменные.

Задание гласит:

Используя следующий фрагмент, создайте соответствующие конструкторы

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
car() и    truck(). 
 
class vehicle {     // базовый класс автомобилей для разных типов 
    int num_wheels;
    int range; 
    public     vehicle(int w, int r)    
   {
         num_wheels = w; 
         range = r;      
    }
 
    public    void showv() 
   {
        Console.WriteLine("Число колес: "+ num_wheels );
        Console.WriteLine ("Грузоподъемность: " + range);        
   }
}
 
class car : vehicle {       //Легковушка
    int passengers;
  // Вставьте здесь конструктор car
  public    void show() 
 {
     showv(); 
     Console.WriteLine ( "Пассажироемкость: " + passengers);        
   }
}
 
class truck :  vehicle {                //Грузовик
    int loadlimit;
   // Вставьте здесь конструктор truck
   public   void show()       
  { 
      showv();     Console.WriteLine ("Пробег: " + loadlimit);          
   }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2019, 02:02
Ответы с готовыми решениями:

конструкторы car() и truck()
Здравствуйте,создайте пожалуйста программу с простыми переменными,согласно заданию

Создать абстрактный класс Vehicle
1)Создать абстрактный класс Vehicle. На его основе реализовать классы Car (автомобиль), Bicycle...

Создать абстрактный класс Vehicle (транспортное средство)
Доброго времени суток,дорогие форумчане! Суть моего вопроса такова:имеется задание 1- Создать...

Создать абстрактный класс Vehicle (транспортное средство)
Может у кого-нибудь завалялась пара задач на C# на наследование. 1- Создать абстрактный класс...

6
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
06.03.2019, 10:04 2
Виктор Валко, Прочитайте про наследование. Можно тут
C#
1
https://metanit.com/sharp/tutorial/3.7.php
Если сейчас сделать за вас, то дальнейшее изучение c# для вас станет бессмысленным.
0
0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 20
06.03.2019, 10:32  [ТС] 3
PoPsa85
Если сейчас сделать за вас, то дальнейшее изучение c# для вас станет бессмысленным.
Ошибаетесь,просто запутался среди прочих домашних заданий
0
70 / 44 / 28
Регистрация: 14.02.2017
Сообщений: 126
06.03.2019, 10:47 4
Лучший ответ Сообщение было отмечено Виктор Валко как решение

Решение

Добрый день!

Вот код:
- вообще class Vehicle надо сделать abstract, т.к. он сам по себе показывает какую-то неопределенную машину и вряд ли нужно будет создавать его экземпляр. Теперь никто не создаст его объект - и не надо.
- названия методов, классов - в большой буквы
- в конструкторах производных классов применяем base()

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
        abstract class Vehicle
        {            
            // базовый класс автомобилей для разных типов 
            int num_wheels;
            int range;
            public Vehicle(int num_wheels, int range)
            {
                this.num_wheels = num_wheels;
                this.range = range;
            }
 
            public void Showv()
            {
                Console.WriteLine("Число колес: " + num_wheels);
                Console.WriteLine("Грузоподъемность: " + range);
            }
        }
 
        class Car : Vehicle
        {       
            //Легковушка
            int passengers;
            // Вставьте здесь конструктор car
            public Car(int num_wheels, int range, int passengers)
                : base(num_wheels, range)
            {
                this.passengers = passengers;
            }
            public new void Show()
            {
                Showv();
                Console.WriteLine("Пассажироемкость: " + passengers);
            }
        }
 
        class Truck : Vehicle
        {    
            //Грузовик
            int loadlimit;
            // Вставьте здесь конструктор truck
            public Truck(int num_wheels, int range, int loadlimit)
                : base(num_wheels, range)
            {
                this.loadlimit = loadlimit;
            }
            public new void Show()
            {
                Showv();
                Console.WriteLine("Пробег: " + loadlimit);
            }
        }
1
0 / 0 / 0
Регистрация: 06.11.2018
Сообщений: 20
06.03.2019, 10:54  [ТС] 5
lupanton

Спасибо большое

Вопрос - почему Vehicle показывает какую-то неопределенную машину,это ведь может быть и конкретная модель
0
70 / 44 / 28
Регистрация: 14.02.2017
Сообщений: 126
06.03.2019, 11:42 6
Лучший ответ Сообщение было отмечено Виктор Валко как решение

Решение

В Vehicle идет речь только о числе колес и грузоподъемности и ничего больше там нет. Никак нельзя обозначить тип автомобиля. Вообще можно было сделать код еще гибче - использовать интерфейс Vehicle и в нем определить методы и свойства, но не реализовывать их. А реализация уже в конкретном классе, который наследуется от этого интерфейса.
C#
1
2
3
4
5
6
        interface IVehicle
        {
            int Num_wheels { get; set; }
            int Range { get; set; }
            void Show();
        }
Например, класс Car c проверкой всех вводимых / присваиваемых значений и собственной реализацией метода Show. А у другого класса были бы свои ограничения на значения свойств и также свой метод визуализации.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
        class Car : IVehicle
        {       
            //Легковушка
            int passengers;
            public int Passengers
            {
                get
                {
                    return passengers;
                }
                set
                {
                    if (value > 5)
                        throw new ArgumentException("Число пассажиров не может быть больше 5!", "value");
                    passengers = value;
                }
            }            
            
            int num_wheels;            
            public int Num_wheels
            {
                get
                {
                    return num_wheels;
                }
 
                set
                {
                    if (value > 4)
                        throw new ArgumentException("Число колес не может быть больше 4!", "value");
                    num_wheels = value;
                }
            }
            int range;
            public int Range
            {
                get
                {
                    return range;
                }
 
                set
                {
                    if (value > 1000)
                        throw new ArgumentException("Грузоподъемность не может быть больше 1 тонны!", "value");
                    range = value;
                }
            }
            //конструктор
            public Car(int num_wheels, int range, int passengers)
            {
                if (num_wheels > 4)
                    throw new ArgumentException("Число колес не может быть больше 4!", "num_wheels");
                if (range > 1000)
                    throw new ArgumentException("Грузоподъемность не может быть больше 1 тонны!", "range");
                if (passengers > 5)
                    throw new ArgumentException("Число пассажиров не может быть больше 5!", "passengers");
                Num_wheels = num_wheels;
                Range = range;
                Passengers = passengers;
            }
 
            public void Show()
            {
                Console.WriteLine($"Легковой автомобиль:\nПассажироемкость: {Passengers} чел.\nГрузоподъемность: {Range} кг.\nКоличество колес: {Num_wheels} ед.");
            }
        }
1
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
06.03.2019, 12:58 7
C#
1
public car(int w, int r, int p): base(w,r) {passengers = p;}
C#
1
public truck(int w, int r, int l): base(w,r) {loadlimit = l;}
0
06.03.2019, 12:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2019, 12:58
Помогаю со студенческими работами здесь

Нужно составить регулярное выражение для поиска <div class="market_row_name"> и <div class="market_row_price">
Заранее спасибо!

Чтение Vehicle Identification Number
Ребят, может у кого завалялся исходник:-[

Cast to Base class from Derived class
Привет, подскажите, надо сделать каст чтобы затем сделать сериализацию а не работает на С#...

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int')
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i !=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru