记录最近在项目设计中遇到的一个小问题。

前提:有这样两个POJO类,它们都可以通过链式调用的方式来设置其属性值,其中一个类继承了另一个类。

问题:通过链式调用,子类对象访问父类方法后,如何使返回对象仍是子类对象,仍然可以继续链式调用子类的方法?

结论:子类重写父类中需要被调用的方法。在子类重写的方法中,首先通过super关键字调用父类方法,

        然后通过return this语句返回子类对象。

 

为了更具体、更形象的描述问题和解决办法,上示例代码。 

BaseOption、AppearanceOption 是两个实现了链式调用的POJO类,其中AppearanceOption 继承自BaseOption。

 1 package com.practice.option;
 2 
 3 public class BaseOption {
 4 
 5     private String id;
 6 
 7     private String name;
 8 
 9     public String getId() {
10         return id;
11     }
12 
13     public String getName() {
14         return name;
15     }
16 
17     public BaseOption setId(String id) {
18         this.id = id;
19         return this;
20     }
21 
22     public BaseOption setName(String name) {
23         this.name = name;
24         return this;
25     }
26 
27 }
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-12
  • 2021-12-18
  • 2022-12-23
  • 2021-09-13
  • 2022-02-22
猜你喜欢
  • 2021-11-28
  • 2022-12-23
  • 2021-12-20
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案