powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по ООД
4 сообщений из 4, страница 1 из 1
вопрос по ООД
    #38899080
daunito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу услышать мнение опытных людей. Нужен универсальный класс, который мог бы находить и/или заменять текст в указанном файле. Как правильно разложить его на подклассы? У меня получается так
Код: java
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.
public abstract class FileScanner{
  private FileReader fileReader;
  public FileScanner(FileReader fileReader){
    this.fileReader = fileReader;
  }
  ...
  public static getScanner(String args)
  {
     FileScanner ret = null;
     //на основе аргументов возвращается нужный экземпляр из наследников. Либо reader, либо replacer
     return ret;
  }
}

public interface FindText{
 int findText(String src, String searchText);
}

public interface ReplaceText{
 String replaceText(String src, String searchText, String replaceTo);
}

public class Finder extends FileScanner implements FindText{
...
}

public class Replacer extends FileScanner implements ReplaceText{
...
}


насколько такая архитектура правильная? Меня смущает один момент, при создании экземпляра наследника как FileScanner, методов findText, replaceText не видно, т.к. они реализованы в наследниках. Помогло явное приведение к нужному интерфейсу, но такое ощущение, что как-то это криво. Буду благодарен за критику и предложения
...
Рейтинг: 0 / 0
вопрос по ООД
    #38899087
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопросы:
1. Какая решаемая задача? Зачем все это надо?
2. В чем заключаетсяо эта универсальность? Другими словами - что именно хотите сделать общим?
3. В чем заключается уникальность того, кто использует ваш универсальный механизм?
...
Рейтинг: 0 / 0
вопрос по ООД
    #38899090
daunito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv,

изучение принципов ООД. Это тренировочное задание. Изначально был один абстрактный класс, с двумя методами find и replace. А два его наследника имели по одной заглушке для метода, который они не реализуют. Мне нужно сделать рефакторинг кода.
...
Рейтинг: 0 / 0
вопрос по ООД
    #38899237
daunito
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvВопросы:
2. В чем заключаетсяо эта универсальность? Другими словами - что именно хотите сделать общим?

общим должен быть класс для работы с разными источниками текста (фтп, http, file ...) и должен выполнять функции поиска и замены текста в себе
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / вопрос по ООД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]