Help to do this, I recently began to learn collections and a little do not understand how to do it. I have a class ProductSearchSrvice (list of online stores)

class ProductSearchSrvice { private String name; public ProductSearchSrvice(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Online store {" + "name = '" + name + '\'' + '}'; } } 

And there is a class where these classes are displayed.

 public class Lab10 { public static void main(String[] args){ List<ProductSearchSrvice> list = new ArrayList<>(); ProductSearchSrvice shop_1 = new ProductSearchSrvice("Rozetka"); ProductSearchSrvice shop_2 = new ProductSearchSrvice("OLX"); ProductSearchSrvice shop_3 = new ProductSearchSrvice("HIKVISION"); list.add(shop_1); list.add(shop_2); list.add(shop_3); ProductSearchSrvice shop_1FromCollection = list.get(0); ProductSearchSrvice shop_2FromCollection = list.get(1); ProductSearchSrvice shop_3FromCollection = list.get(2); System.out.println(shop_1FromCollection); System.out.println(shop_2FromCollection); System.out.println(shop_3FromCollection); } } 

I can’t understand a bit how to determine the name of the store in the online store class, if it is in another class, and how then to display elements of this class on the screen.

  • (C) translate ... - Oleksiy Morenets
  • ProductSearchSrvice is no service at all, it's just an entity, I would call it just a Store . It is not clear what needs to be done - Oleksiy Morenets

1 answer 1

 С java не знаком но могу посоветовать сделать так пример приведу на java-script Во-первых у вас не очень хорошее название для класса, больше подходит для функции(метода)ProductSearchSrvice, я его заменю например ShopList итак поехали: "use strict"; (function(){ //создам ф-ию которая создает объект(класс) function createClass(){ return {}; } //И создам для удобства отладки function log(el){ return console.log(el); } //-----Начало нашего кода---------- var ShopList,ShopCloneList; //Создали класс RenderContent будет принадлежать ему ShopList = createClass(); ShopList.shops=[{ "name": "Магазин обуви", "descr": "Классный магазин обуви", }, { "name": "Магазин велосипедов", "descr": "Шикарный магазин велосипедов" }, { "name" : "Магазин косметики", "descr": "Доступная косметика" } ]; // log(ShopList.shops); ShopList.renderContent = function(){ for(var key in ShopList.shops ){ var res = ShopList.shops[key].name; var res = ShopList.shops[key].descr; log(res); } } ShopList.renderContent(); //Создали еще один класс ShopCloneList = createClass(); //создали метод этого класса ShopCloneList.renderContentCopy = function(){ for(var key in ShopList.shops ){ var res = ShopList.shops[key].name; var res = ShopList.shops[key].descr; log(res); } //или вызвали метод другого класса ShopList.renderContent(); //или присвоили ShopCloneList.renderContentCopy =ShopList.renderContent(); }; //Вызвали метод класса ShopCloneList ShopCloneList.renderContentCopy(); //Но все же лучше унаследовать метод класса от другого например так: //но работать это не будет потому что мы создали класс без //ключевого слово new //раскомментируйте если создаете через new; //ShopCloneList.prototype = Object.create(ShopList.prototype); //ShopCloneList.prototype.renderContent(); })(); А, в общем то полистайте получше темы OОП(наследование, инкапсуляция полиморфизм)А, так же что такое классы и объекты потому что я заметил, что вы путаете эти понятия;