2016-11-20 5 views
-1

У меня есть класс Java, который используется для разных филиалов компаний, расположенных по всей стране, и каждая ветка будет отслеживать список своих клиентов. Как я могу реализовать это, чтобы ветвь «Лондон» только вытаскивала список клиентов, которые использовали эту ветку, но не смогли увидеть список клиентов других филиалов? Я имею в виду класс клиента, который содержит массив, но им пытаются найти способ связать классы вместеJava-класс с массивом

public class Branch implements Manager { 

//instance variables that will be available to children of Branch 
private String branchName; 



// constructor 
public Branch(String name) { 
    this.branchName = name; 
} 


//Returns the location of the branch as a String 
@Override 
public String getBranch() { 
    return this.branchName; 
} 

//Returns a String representation of customers who have used the Branch 
@Override 
public String getAllCustomers() { 
    return "Customer list will go here"; 
} 
+1

Вы понимаете, что если вы поместите массив как частный член класса, он будет доступен только непосредственно для конкретного объекта? –

+0

уверен, но экземпляры будут созданы из класса ветвей, а это значит, что «Лондон» сможет увидеть список клиентов «Глазго»? – user2904400

ответ

0

Как насчет:

Map<String, List<Clients>> 

?

Таким образом, вы можете отобразить ветвь в список клиентов.

0

Если class London extends Branch и class Glasgow extends Branch затем London не смогут получить частные поля Glagow. London и Glasgow не сможет даже получить доступ к закрытым членам delared в Branch

Используйте protected или пакет защищен модификаторы доступа.