0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14

Создать класс Nissan Patrol

11.02.2015, 16:19. Показов 1615. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Все это на примере полиморфизма и наследование...
Мне надо в С# создать класс Nissan Patrol, потом указать несколько свойств сколько колес, кол-тво дверей, кол-во объема, потом при помощи типа bool указать правый или леворулька
Дальше создать дочерний класс бензиновый Nissan и дизельний Nissan .потом прицепить метод заправка...
Я написал так:
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
namespace Nissan
{    public class NissanPatrol 
    {
        public int SkolkoKoles { get; set;}
        public int SkolkoDverei { get; set;}
        public double Volume { get; set; }
        public bool fuel { get; private set;}
        public NissanPatrol(bool fuel)
        {
        this.fuel=fuel;
            if(fuel)   
            Console.WriteLine("Benzin"); 
            else
                Console.WriteLine("Dizel"); }
        public bool PravorulkaIliLevorulka{get;set;}
        public void Zapravka()
        { } }
    class NissanBenzin : NissanPatrol
    { 
         NissanPatrol nis = new NissanPatrol();
        nis.fuel=false;         
    }
    class NissanDizel : NissanPatrol
    { NissanPatrol nis = new NissanPatrol();
        nis.fuel=true;}}
Теперь мне надо если в конструкторе есть параметр то это бензин. Если параметров нет, то дизель.
Как можно помогите!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2015, 16:19
Ответы с готовыми решениями:

Написать класс Nissan
Все это на примере полиморфизма и наследование... Мне надо в С# создать класс Nissan Patrol, потом указать несколько свойств сколько...

Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо
Создать класс колесо, имеющее радиус. Определить конструкторы. Создать класс машин, содержащий класс колесо. Дополнительно есть марка,...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. Имею такую задачу. Создать абстрактный...

24
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.02.2015, 16:26
Цитата Сообщение от dos379 Посмотреть сообщение
указать несколько свойств сколько колес
А что, колес может быть разное количество?
0
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 16:31  [ТС]
нет проста количество колес теперь как мне надо если в конструкторе есть параметр то это бензин. Если параметров нет, то дизель
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 16:35
Цитата Сообщение от dos379 Посмотреть сообщение
если в конструкторе есть параметр то это бензин. Если параметров нет, то дизель
а машины на газу, электромобили и т.д. - несуществующие?
0
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 16:40  [ТС]
да точно , без параметра
0
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.02.2015, 16:44
dos379, используйте перечисление, типа EngineType, и поле соответствующего типа в классе.
1
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 16:54  [ТС]
Можете написать если в конструкторе есть параметр то это бензин. Если параметров нет, то дизель
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 17:01
C#
1
2
3
4
5
6
7
8
public NissanPatrol()
{
    //дизель
}
public NissanPatrol(bool fuel)
{
    //бензин
}
Не катит?
0
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 17:05  [ТС]
Я так написал было неправильно

C#
1
2
3
4
5
6
7
8
9
10
11
        public NissanPatrol(bool fuel)
        {
            if(fuel)
            {
            Console.WriteLine("Benzin");
            }
        }
         public NissanPatrol()
        {
                Console.WriteLine("Dizel");
        }
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 17:07
зачем if внутри?
0
Эксперт .NET
 Аватар для insite2012
5546 / 4309 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.02.2015, 17:15
Что мучиться-то?
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication4 {
    class Program {
        static void Main(string[] args) {
            NissanPatrol patrol1 = new NissanPatrol(EngineType.Gas);
            Console.WriteLine(patrol1.ToString());
            Console.ReadLine();
        }
    }
    public class NissanPatrol {
        public EngineType EngType { get; private set; }
        public NissanPatrol(EngineType type) {
            EngType = type;
        }
        public override string ToString() {
            return string.Format("Nissan Patrol has a {0} Engine", EngType.ToString());
        }
    }
    public enum EngineType {
        Gas,
        Petrol,
        Electric
    }
}
1
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 17:15  [ТС]
KOPOJI, Тогда ваш код правильный?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 17:20
insite2012, тогда не будет отвечать условию. И даже дефолтное значение не поможет. Да и потом, это же не полиморфизм, разве нет?
0
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 17:32  [ТС]
insite2012, а вы где указали если есть параметр то это бензин. Если параметров нет, то дизель

Добавлено через 6 минут
KOPOJI, как можно показать что это бензин или дизель в коде?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 17:33
в коде? Например, так, как я написал - с помощью комментариев..
1
0 / 0 / 0
Регистрация: 10.02.2015
Сообщений: 14
11.02.2015, 17:35  [ТС]
Тогда значить без параметра ниче не надо if не надо было да?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 17:38
да.
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6100 / 4956 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
11.02.2015, 18:13
KOPOJI, ну дык можно просто добавить полиморфный метод "Заправиться", который будет по-разному реализован в электромобиле и бензиновом.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.02.2015, 21:08
Цитата Сообщение от Psilon Посмотреть сообщение
дык можно просто добавить полиморфный метод "Заправиться", который будет по-разному реализован в электромобиле и бензиновом.
И что совершенно не будет соответствовать условию
Цитата Сообщение от dos379 Посмотреть сообщение
мне надо если в конструкторе есть параметр то это бензин. Если параметров нет, то дизель.
это условие может быть реализовано двумя способами:
1. Значение по умолчанию
2. Полиморфизм

1 способ не подходит, т.к. может получиться, что при указании аргумента все равно получим дизель. Например, такой код (не знаю, насколько он работоспособен - не в курсе насчет синтаксиса значений из ENUM в параметрах)
C#
1
2
3
4
5
6
7
8
9
10
11
public NissanPatrol(EngineType type = EngineType.Gas)
{
    if(type == EngineType.Petrol)
    {
        //бензин
    }
    else if(type == EngineType.Gas)
    {
         //дизель
    }
}
или else, неважно.
C#
1
NissanPatrol patrol1 = new NissanPatrol(EngineType.Petrol);
Все верно, как и должно быть
C#
1
NissanPatrol patrol1 = new NissanPatrol();
Все верно, как и должно быть
C#
1
NissanPatrol patrol1 = new NissanPatrol(EngineType.Gas);
Опа, а тут ошибка. Параметр есть, а тип - все равно дизель.
Поэтому в данном случае, если следовать именно условию из стартового поста, я вижу вариант только с использованием полиморфизма - т.е., два конструктора с разным количеством аргументов, а все другое от лукавого..
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
11.02.2015, 21:26
Цитата Сообщение от KOPOJI Посмотреть сообщение
И что совершенно не будет соответствовать условию
но тем не менее это будет полиморфизм..
а все что тут выше таким не пахнет, кроме наследования..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2015, 21:26
Помогаю со студенческими работами здесь

Создать класс Point, на его основе создать класс Line
Здравствуйте, есть такая часть задачки: "Создать класс Point, на его основе создать класс Line. В классах описать следующие элементы: ...

Создать класс Man (человек), с полями: имя, возраст, пол и вес. Создать производный класс Student ...
Создать класс Man (человек), с полями: имя, возраст, пол и вес. Определить методы задания имени, возраста и веса. Создать производный класс...

Создать абстрактный базовый класс Тройка чисел с виртуальными методами увеличения на 1. Создать производный класс Время со своими функциями
Здравствуйте, пожалуйста помогите написать код к данной задаче, с таким условием: Создать абстрактный базовый класс Тройка чисел с...

Нарисовать значок Nissan
Нарисовать значок Nissan в Делфи

Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д
Создать класс комната, имеющая площадь. Создать класс однокомнатных квартир, двухкомнатных и т.д. Помогите пожалуйста люди добрые, чем...


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

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

Новые блоги и статьи
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru