Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Название темы включает слова - "Помогите", "Спасите", "Срочно"
Название темы не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте >>>правила <<< и заново правильно создайте тему.
 
Опции темы
Старый 05.07.2018, 13:13   #11
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
Но наследуются с одним и том же интерфейсом
Но реализовали то вы этот метод не в интерфейсе.

Цитата:
Сообщение от Мaкс Посмотреть сообщение
зачем интерфейс вообще нужен?
Я вам привел конкретный пример. Разберите и попробуйте написать код с тремя логерами.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума  
Старый 05.07.2018, 15:02   #12
Мaкс
Форумчанин
 
Аватар для Мaкс
 
Регистрация: 12.06.2018
Адрес: Научная столица России.
Сообщений: 364
Репутация: -5
По умолчанию

А что значит логгер в данном случае?
Мaкс вне форума  
Старый 05.07.2018, 15:08   #13
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

Класс (объект), который осуществляет логгирование, т.е. записывает логи.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума  
Старый 05.07.2018, 15:23   #14
Мaкс
Форумчанин
 
Аватар для Мaкс
 
Регистрация: 12.06.2018
Адрес: Научная столица России.
Сообщений: 364
Репутация: -5
По умолчанию

А куда логирует?
Изображения
Тип файла: png лог вики.PNG (10.8 Кб, 0 просмотров)
Мaкс вне форума  
Старый 05.07.2018, 15:29   #15
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

Ну вы пост прочитайте-то... Один в файл, другой в БД, третий мок для отладки. Можете вообще никуда не писать фактически, не в этом суть. Пусть при логировании в консоль выводит "Я хочу писать в файл" или "Я хочу писать в БД".
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума  
Старый 06.07.2018, 10:43   #16
Мaкс
Форумчанин
 
Аватар для Мaкс
 
Регистрация: 12.06.2018
Адрес: Научная столица России.
Сообщений: 364
Репутация: -5
По умолчанию

Ну написал программу по инструкции которая работает, но опять же не вижу смысла использовать интерфейс...
Мaкс вне форума  
Старый 06.07.2018, 11:21   #17
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

Цитата:
Сообщение от Мaкс Посмотреть сообщение
Ну написал программу по инструкции которая работает
Где описание классов и сигнатура функции? Сколько функций, кстати?

Цитата:
Сообщение от Мaкс Посмотреть сообщение
но опять же не вижу смысла использовать интерфейс
Ну так и не используйте. Вас же никто не заставляет.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума  
Старый 06.07.2018, 11:43   #18
Мaкс
Форумчанин
 
Аватар для Мaкс
 
Регистрация: 12.06.2018
Адрес: Научная столица России.
Сообщений: 364
Репутация: -5
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Где описание классов и сигнатура функции?
Сейчас...
Код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
// Создаем два интерфейса, описывающих абстрактные методы 
// арифметических операций и операций Sqrt и Sqr


// Данный класс реализует интерфейс IArOperation
class A : IArOperation
{
    int My_x, My_y;

    public int x //Возвращает просто.
    {
        set { My_x = value; }
        get { return My_x; }
    }

    public int y //Возвращает просто.
    {
        set { My_y = value; }
        get { return My_y; }
    }

    public A() { } //Только для избежания ошибки.
    public A(int x, int y) //Конструктор для создания объекта.
    {
        this.x = x;
        this.y = y;
    }

    // Реализуем методы интерфейса
    public virtual int Sum() //Возвращает x + y
    {
        return x + y;
    }

    public int Otr() //Возвращает x - y
    {
        return x - y;
    }

    public int Prz() //Возвращает x * y
    {
        return x * y;
    }

    public int Del() //Возвращает x / y
    {
        return x / y;
    }

    // В данном классе так же можно реализовать собственные методы
    public virtual void rewrite() //Вывод значения x и y.
    {
        Console.WriteLine("Переменная x: {0}\nПеременная y: {1}", x, y);
    }
}

// Данный класс унаследован от класса А, но при этом в нем не нужно
// заново реализовывать интерфейс, но при этом можно переопределить
// некоторые его методы
class Aa : A
{
    public int z;

    public Aa(int z, int x, int y)  //Конструктор для создания объекта.
        : base(x, y)
    {
        this.z = z;
    }

    // Переопределим метод Sum
    public override int Sum() //Метод для вывода значения x + y + z.
    {
        return base.x + base.y + z;
    }

    public override void rewrite() //Вызыв значений x, y и z.
    {
        base.rewrite();
        Console.WriteLine("Переменная z: " + z);
    }
}

// Данный класс унаследован от класса А, и при этом
// реализует интерфейс ISqrSqrt
class Ab : A, ISqrSqrt
{
    public int Sqr(int x) //x в квадрате.
    {
        return x * x;
    }

    public int Sqrt(int x) //Корень от x.
    {
        return (int)Math.Sqrt((double)(x));
    }
}

class Program
{
    static void Main()
    {
        A obj1 = new A(x: 10, y: 12);
        Console.WriteLine("obj1: ");
        obj1.rewrite();
        Console.WriteLine("{0} + {1} = {2}", obj1.x, obj1.y, obj1.Sum());
        Console.WriteLine("{0} * {1} = {2}", obj1.x, obj1.y, obj1.Prz());
        Aa obj2 = new Aa(z: -3, x: 10, y: 14);
        Console.WriteLine("\nobj2: ");
        obj2.rewrite();
        Console.WriteLine("{0} + {1} + {3} = {2}", obj2.x, obj2.y, obj2.Sum(), obj2.z);

        Console.ReadKey();
    }
}

Мaкс вне форума  
Старый 06.07.2018, 11:51   #19
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

А где логгеры? Что за бред вы суете?
Зачем если вы не понимаете для чего нужны интерфейсы, вы берете простую задачу на наследование? А не какое-нибудь реальное применение интерфейсов?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума  
Старый 06.07.2018, 11:59   #20
Мaкс
Форумчанин
 
Аватар для Мaкс
 
Регистрация: 12.06.2018
Адрес: Научная столица России.
Сообщений: 364
Репутация: -5
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Зачем если вы не понимаете для чего нужны интерфейсы, вы берете простую задачу на наследование? А не какое-нибудь реальное применение интерфейсов?
Копипастил от сюда: https://professorweb.ru/my/csharp/ch...level9/9_1.php
Мaкс вне форума  
Закрытая тема

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рассчитать CRC16. с текстовыми и бинарными файлами работает без проблем. Если же подсунуть ей exe файл, то вылетает. ilyakonst Общие вопросы C/C++ 4 12.04.2016 18:01
если Edit1 ='Рис', Edit2 ='10', Edit3 ='6', то автоматически заполняется Edit4 ='100'. Какой оператор лучше использовать? Юрий9 БД в Delphi 7 26.02.2016 19:04
Какой фреймворк изучить для интерфейсов БД Goretsv PHP 4 17.07.2012 03:49
Объясните смысл интерфейсов MyLastHit C# (си шарп) 8 22.11.2011 18:43
Есть ли смысл в использовании предкомпилированных заголовков, если я в них ничего не добавляю? TwiX Visual C++ 4 19.09.2011 14:15


23:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru