Discuss / Java / 层次结构

层次结构

Topic source
TextNode n1 = new SpanNode();//外层<span>
n1.setText("Hello");//正常修改text
TextNode n2 = new BoldDecorator(n1);//getText时加一个<b>包围原内容
System.out.println(n2.getText());//调用栈:n2.getText()->n1.getText()

TextNode n3 = new BoldDecorator(n2);//getText时加一个<b>包围原内容
//调用栈:n3.getText()->n2.getText()->n1.getText()
// n1返回text内容,然后n2加<b>返回,然后n1加<b>返回
System.out.println(n3.getText());//<b><b><span>Hello</span></b></b>
//调用栈:n3.setText()->n2.setText()->n1.setText()->this.text = text;
n3.setText("HI");//只修改了text

System.out.println(n3.getText());//<b><b><span>HI</span></b></b>

  • 1

Reply