我必须使用 java 类 track
和 Session
。
轨道类...
package trackmanagement;
public class track {
private String trackName, networkingEventTime;
private Session morningSession, afternoonSession;
track(String name)
{
trackName = name;
}
public void alloteSession()
{
morningSession = new Session("Morning Session", trackName);
afternoonSession = new Session("Afternoon Session", trackName);
}
}
session 类...
package trackmanagement;
import java.util.ArrayList;
public class Session {
private String sessionName, relatedTrack, startTime, endTime;
private ArrayList<Slot> allotedSlots;
public Session(String name, String track)
{
sessionName = name;
relatedTrack = track;
}
public void morningSlots()
{
}
public String afternoonSlots()
{
return "";
}
}
在 track
类的方法 alloteSession
中,我创建了两个 Session
类的对象,名称为 morningsession
和 afternoonsession
。
Session
类包含两个方法,即 morningSlots
和 afternoonSlots
。
我只想从morningsession
对象访问morningSlots
方法,而afternoonSlots
对于morningsession
对象是私有(private)的。
同样,afternoonSlots
方法应该从 afternoonsession
对象访问,而 morningSlots
是 afternoonsession
对象私有(private)的。
因此,方法应该有条件隐私。 morningSlots
方法对于 morningsession
对象应该是公共(public)的,而对于 afternoonsession
对象应该是私有(private)的,反之亦然。
是否可以这样做,如果不能,请建议一些其他方式来实现这种设计。
最佳答案
您可以创建两个类 morningSession
和 afternoonSession
来扩展 session
,而不是尝试从一个类或另一个类更改方法可见性.
session
可以是具有方法 slots()
的抽象类,需要在 morningSession
和 afternoonSession
中实现.
从实现的角度来看,当您创建 session
时,它是 morningSession
或 afternoonSession
但在这两种情况下您都可以调用 slots ()
调用正确方法的方法
关于Java - 有条件地访问类的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432617/