JavaSE进阶

11、实现团队列表功能,完善TeamView类

    private void listTeam() {

        System.out.println("\n--------------------团队成员列表---------------------\n");

 

        //从TeamService类管理的团队数组中拿到所有已经添加的团队成员

        Programmer[] team = teamSvc.getTeam();

        if (team.length == 0) {

            System.out.println("开发团队目前没有成员!");

        } else {

            System.out.println("TDI/ID\t姓名\t年龄\t工资\t职位\t奖金\t股票");

        }

 

        //因为不同类型的员工所包含的信息不同,因此要分别讨论显示

        //注意if...else if的顺序,包含关系是“子上父下”

        for (Programmer p : team) {

         if (p instanceof Architect) {

             Architect a = (Architect) p;//向下转型,才能访问架构师中的奖金与股票信息

             System.out.println(" " + a.getMemberId() + "/" + a.getDetails() + "\t架构师\t" +  a.getBonus() + "\t" + a.getStock());

             } else if (p instanceof Designer) {

             Designer d = (Designer) p;//向下转型,才能访问设计师中的奖金信息

             System.out.println(" " + d.getMemberId() + "/" + d.getDetails() + "\t设计师\t" + d.getBonus());

             } else if (p instanceof Programmer) {

             System.out.println(" " + p.getMemberId() + "/" + p.getDetails() + "\t程序员");

             }

 

        }

        System.out.println("-----------------------------------------------------");

    }