【问题标题】:How to implement this Class Diagram in JAVA?如何在 JAVA 中实现这个类图?
【发布时间】:2020-04-26 01:00:56
【问题描述】:

我正在关注一个项目的类图。我对这部分感到困惑:

我应该如何创建一个包含类的变量? (不知道是不是很清楚,但是这些类都不是主要的)

请记住,我是一名学生,而且我以前从未遵循过任何类图。

【问题讨论】:

    标签: java class-diagram


    【解决方案1】:

    类图显示了 Historico 和 Usuario 之间的组合。这是一个有关系(Historico 有一个 Usuario)。

    您可以像这样定义零参数化构造函数:

     class Usuario {
        public Usuario() {
       }
      }
    

    如果你没有定义,编译器将添加零参数构造函数,而如果没有定义构造函数,则生成字节码。

    你可以这样定义成分:

    public class Historico {
      private Usuario responsavel;
    }
    

    完整代码:

    public class Usuario {
        String login;
        String senha;
    
        /**
         * @return the login
         */
        public String getLogin() {
            return login;
        }
    
        /**
         * @param login the login to set
         */
        public void setLogin(String login) {
            this.login = login;
        }
    
        /**
         * @return the senha
         */
        public String getSenha() {
            return senha;
        }
    
        /**
         * @param senha the senha to set
         */
        public void setSenha(String senha) {
            this.senha = senha;
        }
    
    }
    

    历史类:

     public class Historico {
        private Usuario responsavel;
        private String dataatualizacao;
        private String descricao;
    
        /**
         * @return the dataatualizacao
         */
        public String getDataatualizacao() {
            return dataatualizacao;
        }
    
        /**
         * @param dataatualizacao the dataatualizacao to set
         */
        public void setDataatualizacao(String dataatualizacao) {
            this.dataatualizacao = dataatualizacao;
        }
    
        /**
         * @return the descricao
         */
        public String getDescricao() {
            return descricao;
        }
    
        /**
         * @param descricao the descricao to set
         */
        public void setDescricao(String descricao) {
            this.descricao = descricao;
        }
    
        public void setResponsavel(Usuario responsavel) {
            this.responsavel = responsavel;
        }
    }
    

    【讨论】:

    • 非常感谢!
    • @vinists 不客气!如果您的问题得到解决,您介意接受答案吗?
    【解决方案2】:

    应该是这样的:

    class Usuario {
    
      public Usuario() {
        // TODO Auto-generated constructor stub
      }
    }
    
    class Historico {
      private Usuario responsavel;
    
      public Historico() {
        // TODO Auto-generated constructor stub
      }
    
      public Usuario getResponsavel() {
        return responsavel;
      }
    
      public void setResponsavel(Usuario responsavel) {
        this.responsavel = responsavel;
      }
    }
    
    public class Demo {
      public static void main(String[] args) {
        Usuario u = new Usuario();
        Historico h = new Historico();
        h.setResponsavel(u);
      }
    }
    

    【讨论】:

      【解决方案3】:

      您可以像创建任何其他变量一样为类创建变量:

      // what you're probably used to:
      int myInt;
      

      假设你有一个类Usuario,如图所示,你可以像这样为它创建一个变量:

      Usuario usuario;
      

      不确定您要问什么,但您甚至可以拥有一个类的实例,指向同一类的其他实例,例如使用节点:

      public class Node {
          public Node prev;
          public Node next;
      
          public Node(Node prev, Node next) {
              this.prev = prev;
              this.next = next;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-10-23
        • 2016-04-14
        • 2023-01-22
        • 1970-01-01
        • 2013-03-23
        • 1970-01-01
        • 2013-08-20
        相关资源
        最近更新 更多