如何解决委托在这里如何应用?
有人可以解释委派模式如何应用于以下代码吗? 我知道它允许对象组合实现与继承相同的代码重用,但是我很难在代码示例中理解它。
brightness_4
// Java program to illustrate
// delegation
class RealPrinter {
// the "delegate"
void print()
{
System.out.println("The Delegate");
}
}
class Printer {
// the "delegator"
RealPrinter p = new RealPrinter();
// create the delegate
void print()
{
p.print(); // delegation
}
}
public class Tester {
// To the outside world it looks like Printer actually prints.
public static void main(String[] args)
{
Printer printer = new Printer();
printer.print();
}
} `enter code here`
解决方法
由于Stack
类实例化了ArrayList
类(list
)中的变量,因此当您在list
上调用方法时,您将委托给{{1} }类。
委派意味着您将另一个类的对象用作 实例变量,并将消息转发到实例。 https://www.geeksforgeeks.org/delegation-vs-inheritance-java/
您正在使用ArrayList
类中的ArrayList
类中的方法。当其他类使用Stack
类时,他们会认为这些操作是由Stack
类处理的。局外人不知道Stack
类实际上是在将指令传递给Stack
类。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。