Универсальное Обьявление Для Примитивных Числовых Типов.

Тема в разделе "Java", создана пользователем APJIEKUH48, 20 окт 2012.

  1. APJIEKUH48

    APJIEKUH48 Гость

    Общий смысл таков: У меня есть некоторый класс некоторым количеством числовых переменных.
    При создании экземпляров этого класса данные могут передаваться в любых примитивных числовых типах.
    Пример: У нас есть класс с 2-мя переменными типа double;
    Даже если брать только int и double, я должен написать 4 конструктора для всех возможных комбинаций:
    (int,int);
    (int,double);
    (double, int);
    (double,double);
    А если у нас 3 и более переменных? Или больше диапазон типов?
    Нет ли какого-то другого способа перебрать все эти варианты?

    Еще небольшая проблема: Если нам нужно чтобы класс имел переменные переданных ему типов?
    В том же примере можно конечно насильно привести все типы к 1, но вопрос какой тип выбрать? Самый большой, чтобы уменьшить погрешность, но тогда увеличиться расход памяти. Ну думаю смысл понятен.

    Возможно решения не существует но хотелось бы знать наверняка. Может быть у кого то есть какие-то идеи?
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    а что вас смущает?
    1). 4 конструктора - это не много,тем более что они мало чем будут отличаться как я понял
    2). Если у вас 2 переменные то сделать приведение к большему типу не существенно увеличит расход памяти
    3).если в классе много полей необходимых для заполнения
    можно передавать строку или файл заполненые этими значениями

    Добавлено: ой пропустил один пункт)
    есть функция toString() -с её помощью можно определить тип переменной
     
  3. APJIEKUH48

    APJIEKUH48 Гость

    Вариант с 2-мя переменными 2-х типов я привел для примера. Если у нас 3 переменных то уже 9 конструкторов, это при 2-х типах. 4 переменных 4 типов? Это только конструктор придется переопределять огромное число раз. Поэтому я и спрашиваю нет ли другого способа решить эту задачу. 2 переменных привести в другому типу не проблема, а если у нас передаются массивы данных? Расход памяти может увеличиться довольно значительно, особенно если для верности приводить к длинным типам.

    На счет функции toString() не совсем понял как её правильно применить в данной ситуации. Приведите пример если не трудно пожалуйста.
     
  4. Murtas

    Murtas Well-Known Member

    Регистрация:
    11 апр 2006
    Сообщения:
    123
    Симпатии:
    0
    читайте композицию ... короче можно передавать класс, а у класса полные наборы конкструкторов куда передаются переменные типа Object или по шаблонам можно в новых версиях
     
Загрузка...
Похожие Темы - Универсальное Обьявление Для
  1. Brabus
    Ответов:
    0
    Просмотров:
    2.357

Поделиться этой страницей