Classe, objeto e diagrama de classes UML: um primeiro mapa da orientação a objetos

Compartilhar

Conheça os fundamentos da análise orientada a objeto e uma técnica para a extração de classes de textos de requisitos (substantivos e verbos...

Conheça os fundamentos da análise orientada a objeto e uma técnica para a extração de classes de textos de requisitos (substantivos e verbos) para a construção de diagramas de classe da UML.


Uma classe é uma forma de organizar, em código, um conceito importante do sistema. Em um sistema de matrícula, por exemplo, fazem sentido conceitos como aluno, disciplina, turma ofertada, matrícula e comprovante. Esses conceitos podem ser descritos em classes, relacionados em um diagrama UML e depois implementados em uma linguagem de programação.
Nota didática: Optamos pela linguagem JavaScript na implementação dos exemplos devido à sua disponibilidade em qualquer browser e a possibilidade de verificarmos suas saídas rapidamente se for o desejo de alunos e professores, além de sua interpretação ser relativamente fácil. Embora não seja uma linguagem indicada por puristas para a programação orientado a objetos (POO) por motivos que fogem ao escopo desse texto. Cabe salientar que essa postagem não tem como objetivo a POO. Aqui se prioriza a criação do diagrama de classe.

Este texto usa como exemplo o SIGMAT — Sistema de Matrícula em Disciplinas, apresentado em uma documentação de requisitos como um sistema responsável por matrícula, cancelamento de matrícula, consulta de disciplinas ofertadas, gerenciamento de ofertas pela secretaria, emissão de comprovantes e verificação automática de pré-requisitos, vagas, créditos e conflitos de horário BRASIL ACADÊMICO (2026c).

O objetivo não é desenhar o sistema inteiro. Em projetos reais, um diagrama de classes costuma representar um recorte útil: a parte mais importante, mais difícil ou mais discutida do sistema. Essa orientação combina com o uso da UML como esboço de comunicação e projeto, e não como obrigação de transformar todo o sistema em um desenho gigantesco VALENTE (2020).

Nota didática: os exemplos intermediários usam nomes como AlunoBasico, AlunoComMatriculas, AlunoUsuario e ServidorSecretariaUsuario. Isso evita a redeclaração da mesma classe em JavaScript. No exemplo final, os nomes definitivos aparecem uma única vez.
1. Classe: o molde do objeto

Uma classe é um molde. Ela define quais informações um objeto terá e quais ações poderá executar. Em JavaScript, uma classe pode ser escrita com a palavra-chave class.

class AlunoBasico {
  constructor(nome, matricula) {
    // Requisito relacionado: RF-01 — Realizar matrícula.
    // Para solicitar matrícula, o sistema precisa identificar o aluno.
    this.nome = nome;
    this.matricula = matricula;
  }

  apresentar() {
    // Método didático: mostra uma representação textual do aluno.
    return `${this.nome} (${this.matricula})`;
  }
}

No diagrama de classes UML, uma classe costuma ser representada por um retângulo com três partes: nome, atributos e métodos. Essa é uma simplificação didática bastante usada para mostrar a estrutura estática de um sistema BRASIL ACADÊMICO (2026b).

2. Objeto: uma instância da classe

Um objeto é um exemplar criado a partir da classe. A classe define o formato; o objeto possui valores concretos.

const ana = new AlunoBasico("Ana Souza", "2026001");
const bruno = new AlunoBasico("Bruno Lima", "2026002");

console.log(ana.apresentar());   // Ana Souza (2026001)
console.log(bruno.apresentar()); // Bruno Lima (2026002)

Ana e Bruno são objetos diferentes, mas ambos foram criados a partir da classe AlunoBasico.

3. Dos requisitos às primeiras classes

Antes de desenhar classes, é necessário ler os requisitos. Requisitos descrevem o que o sistema deve fazer; o modelo ajuda a transformar essa descrição em uma proposta de estrutura. A modelagem estrutural funciona como uma ponte entre linguagem natural, desenho da solução e código BRASIL ACADÊMICO (2026a).

Requisito funcional RF-01 — Realizar Matrícula:

“O sistema deve permitir que o aluno solicite matrícula em uma disciplina ofertada no semestre corrente, desde que atendidas as pré-condições de pré-requisitos, vagas, créditos e horário.” BRASIL ACADÊMICO (2026c)

Desse requisito, surgem candidatos a classes: Aluno, Matricula, Disciplina e TurmaOferta. Também surgem regras que orientarão métodos e validações: pré-requisitos, vagas, créditos e horário.

Termo do requisito Pode virar classe? Justificativa didática
Aluno Sim Tem identidade, matrícula e participa da solicitação de matrícula.
Matrícula Sim Registra a ligação entre aluno e turma ofertada.
Disciplina ofertada Sim Pode ser modelada como TurmaOferta, pois inclui semestre, vagas e horário.
Vaga Geralmente não Neste recorte, é melhor como atributo numérico da turma ofertada.
Pré-requisito Depende Pode ser classe própria em um sistema completo; neste artigo ficará como TODO no validador.
Nota: TODO é uma abreviação da expressão em inglês "to do", que significa "a fazer". Bastante usado no jargão técnico da programação.
4. Associação: uma classe conhece outra

Uma associação indica que uma classe mantém relação com outra. Em JavaScript, isso aparece quando um objeto guarda referência para outro.

class DisciplinaExemplo {
  constructor(codigo, nome) {
    // Requisito relacionado: RF-02 — Consultar disciplinas.
    this.codigo = codigo;
    this.nome = nome;
  }
}

class TurmaOfertaExemplo {
  constructor(disciplina, semestre, vagasDisponiveis) {
    // RF-04 — Gerenciar oferta: a secretaria cadastra ofertas de disciplinas.
    // Associação: TurmaOfertaExemplo conhece uma DisciplinaExemplo.
    this.disciplina = disciplina;
    this.semestre = semestre;
    this.vagasDisponiveis = vagasDisponiveis;
  }
}

const disciplina = new DisciplinaExemplo("ESW101", "Engenharia de Software");
const turma = new TurmaOfertaExemplo(disciplina, "2026.1", 30);
5. Cardinalidade: quantos objetos participam da relação?

A cardinalidade, também chamada de multiplicidade, informa quantos objetos podem participar de uma relação. Por exemplo: um aluno pode ter várias matrículas, mas cada matrícula pertence a um único aluno.

Notação Significado Exemplo no SIGMAT
1 Exatamente um Uma matrícula pertence a um aluno.
0..1 Nenhum ou um Uma matrícula pode ter ou não comprovante emitido.
0..* Nenhum ou muitos Um aluno pode ter várias matrículas.
1..* Um ou muitos Um curso pode ter uma ou mais disciplinas obrigatórias.
class AlunoComMatriculas {
  constructor(nome, matricula) {
    this.nome = nome;
    this.matricula = matricula;

    // Associação Aluno 1 —— 0..* Matricula.
    // Observação: em UML, a multiplicidade aparece na ponta da associação.
    // No código, ela costuma aparecer como uma coleção.
    this.matriculas = [];
  }

  adicionarMatricula(matricula) {
    // RF-01 — Realizar matrícula: registra uma matrícula para o aluno.
    this.matriculas.push(matricula);
  }
}
6. Herança: quando uma classe é um tipo de outra

A herança representa uma relação do tipo “é um”. No SIGMAT, um aluno é um usuário do sistema. Um servidor da secretaria também é um usuário do sistema.

class UsuarioSistema {
  constructor(nome, email) {
    // Dados comuns a diferentes usuários do SIGMAT.
    this.nome = nome;
    this.email = email;
  }

  autenticar() {
    // Requisito relacionado ao contexto do SIGMAT: autenticação institucional.
    // TODO(RNF/Segurança): integrar com SSO institucional em uma versão real.
    return `${this.email} autenticado`;
  }
}

class AlunoUsuario extends UsuarioSistema {
  constructor(nome, email, matricula) {
    super(nome, email);
    this.matricula = matricula;
  }
}

class ServidorSecretariaUsuario extends UsuarioSistema {
  constructor(nome, email, setor) {
    super(nome, email);
    this.setor = setor;
  }

  registrarOferta(disciplina, semestre, vagasDisponiveis = 30) {
    // RF-04 — Gerenciar Oferta.
    // A secretaria pode criar uma turma ofertada para uma disciplina.
    // Neste exemplo intermediário, usamos TurmaOfertaExemplo,
    // definida anteriormente, para evitar misturar todas as classes finais.
    return new TurmaOfertaExemplo(disciplina, semestre, vagasDisponiveis);
  }
}

A pergunta-guia é: “Aluno é um Usuário?”. Se sim, herança pode fazer sentido. Se a frase correta for “Aluno tem Matrículas”, então provavelmente é associação, não herança.

7. Agregação e composição

Agregação e composição são relações todo-parte. A agregação é uma relação mais fraca: as partes podem existir independentemente do todo. A composição é mais forte: a parte faz sentido como parte daquele todo.

class CursoExemplo {
  constructor(nome) {
    this.nome = nome;

    // Agregação: o curso reúne disciplinas.
    // As disciplinas podem continuar existindo no catálogo institucional.
    this.disciplinas = [];
  }

  adicionarDisciplina(disciplina) {
    this.disciplinas.push(disciplina);
  }
}

class ComprovanteMatriculaExemplo {
  constructor(codigo, dataEmissao) {
    this.codigo = codigo;
    this.dataEmissao = dataEmissao;
  }
}

class MatriculaComComprovanteExemplo {
  constructor(aluno, turma) {
    this.aluno = aluno;
    this.turma = turma;
    this.comprovante = null; // Cardinalidade 0..1.
  }

  emitirComprovante() {
    // RF-05 — Emitir comprovante.
    if (this.comprovante) {
      throw new Error("Comprovante já emitido para esta matrícula.");
    }

    this.comprovante = new ComprovanteMatriculaExemplo(
      `COMP-${Date.now()}`,
      new Date()
    );

    return this.comprovante;
  }
}

Na UML, agregação e composição podem ser entendidas como formas especiais de associação. Toda agregação ou composição liga classes, mas acrescenta a ideia de relação todo-parte. Por isso, quando essa diferença não ajuda a compreender o sistema, muitas equipes preferem representar apenas uma associação comum.

Observação técnica: agregação é uma notação controversa na prática. Muitas equipes preferem usar associação simples, especialmente quando a distinção entre “tem” e “agrega” não acrescenta clareza ao modelo. Para iniciantes, vale conhecer o símbolo, mas usá-lo com parcimônia FOWLER (2005).
8. Dependência: quando uma classe apenas usa outra

A dependência é uma relação mais fraca que a associação. Ela indica que uma classe usa outra para cumprir uma tarefa, sem necessariamente possuir essa outra classe como parte permanente.

class ValidadorMatriculaExemplo {
  podeMatricular(aluno, turma) {
    // RF-01 — Realizar matrícula.
    // RN-04 — A matrícula só é confirmada se houver vaga disponível.
    const possuiVaga = turma.temVaga();

    // TODO(RN-02): validar pré-requisitos cumpridos pelo aluno.
    // TODO(RN-01): validar limite máximo de créditos por semestre.
    // TODO(RN-03): validar conflito de horário.
    // TODO(RN-05): validar período de matrícula.
    return possuiVaga;
  }
}

class ServicoMatriculaExemplo {
  constructor(validador) {
    // Dependência: este serviço usa um validador.
    this.validador = validador;
  }

  matricular(aluno, turma) {
    if (!this.validador.podeMatricular(aluno, turma)) {
      return null;
    }

    // Encapsulamento didático: quem altera as vagas é a própria turma.
    turma.ocuparVaga();

    return { aluno, turma, status: "confirmada" };
  }
}
9. Matriz de diagnóstico: antes de escolher o símbolo UML

A matriz de diagnóstico é uma tabela de apoio para decidir qual relação usar entre duas classes. Ela é útil porque força o aluno a escrever a relação em linguagem natural antes de desenhar linhas e setas.

Para criar a matriz:

  1. Liste pares de classes candidatas.
  2. Escreva uma frase simples sobre a relação entre elas.
  3. Faça a pergunta diagnóstica: “é um?”, “tem?”, “usa?”, “é parte de?”.
  4. Escolha a relação UML mais adequada.
Pergunta Relação provável Exemplo no SIGMAT Indício no código
“É um tipo de?” Herança Aluno é um Usuário. class Aluno extends Usuario
“Conhece ou se liga a?” Associação Matrícula liga Aluno e TurmaOferta. this.aluno = aluno
“Reúne partes independentes?” Agregação Curso reúne disciplinas. this.disciplinas = []
“A parte depende fortemente do todo?” Composição Matrícula gera comprovante. new ComprovanteMatricula(...)
“Apenas usa para executar algo?” Dependência Serviço usa ValidadorMatricula. this.validador.podeMatricular(...)
10. Como criar um diagrama de classes UML

O diagrama de classes é um diagrama estrutural da UML. A UML é uma linguagem padronizada pela Object Management Group para visualizar, especificar, construir e documentar artefatos de sistemas de software OMG (2017). Em termos práticos, o diagrama de classes mostra classes, atributos, métodos e relacionamentos VALENTE (2020).

Para criar um diagrama de classes para iniciantes:

  1. Escolha um recorte. Exemplo: “realizar matrícula em disciplina”.
  2. Leia os requisitos. No SIGMAT, o RF-01 orienta a matrícula; o RF-04 orienta a oferta; o RF-05 orienta o comprovante.
  3. Liste classes candidatas. Aluno, Disciplina, TurmaOferta, Matricula, ComprovanteMatricula, ValidadorMatricula.
  4. Defina atributos. Nome, matrícula, código, semestre, vagas, status.
  5. Defina métodos. temVaga(), ocuparVaga(), adicionarMatricula(), emitirComprovante().
  6. Desenhe relações e cardinalidades. Um aluno pode ter muitas matrículas; uma matrícula pertence a uma turma.
  7. Valide contra os requisitos. Se uma classe ou método não ajuda a cumprir requisito algum, talvez esteja cedo para incluí-lo.
Limite proposital: este primeiro mapa não cobre todos os recursos da UML. Ficaram fora, por exemplo, classes abstratas, interfaces, atributos estáticos, métodos estáticos, visibilidade protegida #, pacotes e padrões de projeto.
11. Diagrama parcial do SIGMAT

O diagrama abaixo representa apenas o recorte “realizar matrícula em disciplina”. Ele não tenta modelar todo o SIGMAT. Isso evita excesso de caixas e permite discutir com clareza o que será implementado.

Criação não significa sempre composição: no diagrama, Matricula possui composição com Comprovante porque o comprovante pertence à matrícula e só faz sentido como resultado dela. Já ServicoMatricula cria uma Matricula, mas não é “dono” dela no sentido todo-parte. Ele apenas orquestra o caso de uso. Por isso, a relação entre ServicoMatricula e Matricula aparece como dependência tracejada, não como composição.
12. Código JavaScript integrado do recorte

O código abaixo corresponde ao diagrama parcial. Ele não é o SIGMAT completo, mas mostra como classes, relações e requisitos podem orientar uma implementação inicial.

class Usuario {
  constructor(nome, email) {
    // Base comum dos usuários do SIGMAT.
    this.nome = nome;
    this.email = email;
  }
}

class Aluno extends Usuario {
  constructor(nome, email, matricula) {
    super(nome, email);
    this.matricula = matricula;

    // Associação Aluno 1 —— 0..* Matricula.
    this.matriculas = [];
  }

  adicionarMatricula(matricula) {
    // RF-01 — Realizar Matrícula.
    // O aluno passa a possuir mais uma matrícula confirmada.
    this.matriculas.push(matricula);
  }
}

class ServidorSecretaria extends Usuario {
  constructor(nome, email, setor) {
    super(nome, email);
    this.setor = setor;
  }

  registrarOferta(disciplina, semestre, vagasDisponiveis) {
    // RF-04 — Gerenciar Oferta.
    // A secretaria cadastra uma turma ofertada para o semestre.
    return new TurmaOferta(disciplina, semestre, vagasDisponiveis);
  }
}

class Disciplina {
  constructor(codigo, nome, creditos = 4) {
    // RF-02 — Consultar Disciplinas.
    // A disciplina precisa ter dados exibíveis na consulta.
    this.codigo = codigo;
    this.nome = nome;
    this.creditos = creditos;
  }
}

class TurmaOferta {
  constructor(disciplina, semestre, vagasDisponiveis) {
    // Associação: uma turma ofertada se refere a uma disciplina.
    this.disciplina = disciplina;
    this.semestre = semestre;

    // RN-04 — Vagas.
    // Em um sistema didático, o atributo fica público para simplificar.
    // Convenção de projeto: outras classes não devem alterar este valor diretamente.
    // A alteração deve ocorrer pelo método ocuparVaga().
    this.vagasDisponiveis = vagasDisponiveis;
  }

  temVaga() {
    // RN-04 — A matrícula só pode ocorrer se houver vaga disponível.
    return this.vagasDisponiveis > 0;
  }

  ocuparVaga() {
    // Encapsulamento didático:
    // a própria turma controla como uma vaga é ocupada.
    if (!this.temVaga()) {
      throw new Error("Não há vagas disponíveis para esta turma.");
    }

    this.vagasDisponiveis -= 1;
  }
}

class Matricula {
  constructor(aluno, turma) {
    // Associação: matrícula liga Aluno e TurmaOferta.
    this.aluno = aluno;
    this.turma = turma;

    // RF-01 — Realizar Matrícula.
    this.status = "confirmada";
    this.dataSolicitacao = new Date();

    // Cardinalidade 0..1: pode ainda não existir comprovante.
    this.comprovante = null;
  }

  emitirComprovante() {
    // RF-05 — Emitir Comprovante.
    // Evita sobrescrever silenciosamente um comprovante já emitido.
    if (this.comprovante) {
      throw new Error("Comprovante já emitido para esta matrícula.");
    }

    this.comprovante = new ComprovanteMatricula(
      `COMP-${this.aluno.matricula}-${Date.now()}`,
      new Date()
    );

    return this.comprovante;
  }
}

class ComprovanteMatricula {
  constructor(codigo, dataEmissao) {
    // RF-05 — Emitir Comprovante.
    this.codigo = codigo;
    this.dataEmissao = dataEmissao;
  }
}

class ValidadorMatricula {
  podeMatricular(aluno, turma) {
    // RF-01 — Realizar Matrícula.
    // RN-04 — Vagas: implementado neste recorte.
    const possuiVaga = turma.temVaga();

    // TODO(RN-02): validar se o aluno cumpriu os pré-requisitos.
    // TODO(RN-01): validar se o aluno não excede 28 créditos no semestre.
    // TODO(RN-03): validar se não há conflito de horário.
    // TODO(RN-05): validar se o período de matrícula está aberto.
    // TODO(RNF-03): registrar auditoria da tentativa de matrícula.

    return possuiVaga;
  }
}

class ServicoMatricula {
  constructor(validador) {
    // Dependência: o serviço usa um validador.
    this.validador = validador;
  }

  matricular(aluno, turma) {
    // RF-01 — Realizar Matrícula.
    if (!this.validador.podeMatricular(aluno, turma)) {
      return null;
    }

    // Encapsulamento: o serviço não altera a vaga diretamente.
    // Ele pede que a própria turma execute essa mudança.
    turma.ocuparVaga();

    const matricula = new Matricula(aluno, turma);

    // Mantém o estado do aluno coerente com a matrícula criada.
    aluno.adicionarMatricula(matricula);

    return matricula;
  }
}

// Uso didático do recorte
const secretaria = new ServidorSecretaria(
  "Marina",
  "marina@universidade.edu",
  "Secretaria Acadêmica"
);

const disciplina = new Disciplina("ESW101", "Engenharia de Software", 4);
const turma = secretaria.registrarOferta(disciplina, "2026.1", 30);

const aluno = new Aluno("Ana Souza", "ana@aluno.edu", "2026001");
const servico = new ServicoMatricula(new ValidadorMatricula());

const matricula = servico.matricular(aluno, turma);

if (matricula) {
  const comprovante = matricula.emitirComprovante();

  console.log(matricula.status);          // confirmada
  console.log(comprovante.codigo);        // COMP-2026001-...
  console.log(turma.vagasDisponiveis);    // 29
}
Nota para sistemas reais: em um sistema profissional, a operação de matrícula deveria ser transacional. Isso significa que, se a vaga for ocupada e depois ocorrer erro ao criar ou registrar a matrícula, o sistema precisaria desfazer a ocupação da vaga. Esse tema envolve controle de transações, rollback e persistência em banco de dados, assuntos deixados fora deste primeiro recorte didático.
13. O que entrou e o que ficou de fora

Entraram no diagrama as classes necessárias para explicar o recorte “realizar matrícula”: usuário, aluno, secretaria, disciplina, turma ofertada, matrícula, comprovante, validador e serviço de matrícula.

Ficaram de fora, de propósito, telas, banco de dados, autenticação real por SSO, geração de PDF, histórico escolar completo, horários detalhados, lista de espera e integração com sistemas externos. Esses elementos podem aparecer em outros diagramas ou em uma versão mais avançada do modelo.

Conclusão

Classe é uma ideia central da programação orientada a objetos porque permite transformar conceitos do domínio em estruturas de software. No SIGMAT, conceitos como aluno, turma ofertada e matrícula deixam de ser apenas palavras dos requisitos e passam a orientar atributos, métodos e relações.

Para quem está começando, o melhor caminho é progressivo: primeiro uma classe isolada; depois objetos; em seguida associação, cardinalidade, herança, agregação, composição e dependência. Só depois vale montar um diagrama maior. Ainda assim, maior não significa completo. Um bom diagrama de classes mostra o suficiente para compreender, discutir e implementar um recorte do sistema.

Referências
  1. BRASIL ACADÊMICO. Modelagem estrutural de soluções: do mapa de domínio ao C4 Model e UML. Brasil Acadêmico, 27 abr. 2026. Disponível em: https://blog.brasilacademico.com/2026/04/modelagem-estrutural-de-solucoes-do.html. Acesso em: 9 maio 2026.
  2. BRASIL ACADÊMICO. Introdução à UML e documentação: guia prático para engenharia de software. Brasil Acadêmico, 29 mar. 2026. Disponível em: https://blog.brasilacademico.com/2026/03/introducao-uml-e-documentacao-guia.html. Acesso em: 9 maio 2026.
  3. BRASIL ACADÊMICO. Documentação de requisitos: escrita estruturada de cenários. Brasil Acadêmico, 12 abr. 2026. Disponível em: https://blog.brasilacademico.com/2026/04/documentacao-de-requisitos-escrita.html. Acesso em: 9 maio 2026.
  4. FOWLER, Martin. UML essencial: um breve guia para a linguagem-padrão de modelagem de objetos. 3. ed. Porto Alegre: Bookman, 2005.
  5. OMG — OBJECT MANAGEMENT GROUP. Unified Modeling Language Specification, version 2.5.1. Needham: OMG, 2017. Disponível em: https://www.omg.org/spec/UML/2.5.1. Acesso em: 9 maio 2026.
  6. VALENTE, Marco Tulio. Engenharia de Software Moderna: capítulo 4 — Modelos. Disponível em: https://engsoftmoderna.info/cap4.html#diagrama-de-classes. Acesso em: 9 maio 2026.
Programação Orientada a Objetos • UML • JavaScript

Comentários

BLOGGER

$show=mobile

Nuvem de Categorias


Coluna Gastroturismo
Nome

#existepesquisanobrasil,2,Abelha,3,Acessibilidade,25,Acessórios,2,Acidente,52,Acústica,16,Adestramento,5,Administração,45,Aerodinâmica,4,Aeronáutica,9,África,7,Agência Bori,1,Agência Brasil,25,Agência FAPESP,5,Agência Fiocruz,6,Agência Porvir,1,Agência Senado,2,Agência USP,5,Agnotologia,1,Agricultura,7,Agropecuária,4,AirBNB,1,Albert Einstein,1,Alcoolismo,9,Alemanha,10,Alemão,4,Alerta,2,Algoritmo,8,Alimento,1,Alzheimer,4,Amazon,5,Amazônia,5,América Latina,1,Análise Combinatória,1,Análise de Texto,2,Anatomia,8,Android,3,Angola,1,Animação,52,Animais de Estimação,6,Animal,2,Antropologia,14,Apicultura,9,App,9,Apple,5,Apresentação,4,aquário,1,Argentina,4,Armamento,1,Arqueologia,6,arquitetura,33,Arte,173,Astrobiologia,3,Astrofísica,4,Astronomia,36,Ativismo,35,Áudio,3,Audio FX,2,Áustria,1,Autismo,2,Auto-ajuda,10,Automobilismo,16,Automóvel,22,aventura,3,Aviação,5,Aviônica,8,Bahia,2,Balonismo,3,Banco Central,1,Banco de Dados,5,Beber e Dirigir,1,biblioteconomia,6,Bicicleta,1,Biografia,18,Biologia,176,Biologia Marinha,15,bioquímica,7,Biotecnologia,25,Bitcoin,2,Blog,29,Blogger,33,Boato,6,Bomba,1,Botânica,6,BRASA,1,BRASA Leads,1,Brasil,41,Brasília,17,BRIC,1,Browser,11,Bugs,3,CAD,3,Calor,2,Caltech,1,Câmera lenta,1,Campanha,47,Canadá,1,cardiologia,16,Carnaval,2,carreira,3,Cartografia,3,Casemods,1,Caso Isabella Nardoni,1,Caso Snowden,1,Ceará,1,Celebridades,6,celular,24,Células-Tronco,5,Cérebro,2,Charge,22,ChatGPT,2,China,23,Cibercultura,3,Ciclovia,1,Cidadania,40,Ciência,225,Cinema,70,Climatologia,3,Clip,1,Cliparts,1,Cloud computing,4,Coaching,12,Comédia,2,competência,2,Complemento de dois,1,Comportamento,277,Computação,101,Computação em grade,5,Computação forense,3,Computação Gráfica,140,Computação Móvel,1,Computação Quântica,1,Comunicação e Marketing,153,Concurso,2,Concurso Cultural de Natal,1,Concursos Público,2,Concursos Públicos,4,Conectômica,1,Conferência,1,Congresso em Foco,1,Conspiração,2,Consumidor,7,Consumismo,3,contabilidade,2,Contos,55,Copa do Mundo,26,Cordel,3,Coreia do Norte,1,Coreia do Sul,1,Corpo,2,Coruja,1,cosmética,3,Cosmologia,21,Covid-19,99,Crash Course,1,Criança,1,Criatividade,4,Crime,49,Crime Digital,9,crise,11,crise econômica,8,Croácia,1,crônica,6,crônicas,5,Cronologia,1,CSS,3,Cuba,4,Culinária,8,Cultura,18,Curiosidades,113,custos fixo,1,custos variáveis,1,Dale Dougherty,2,Dança,6,DAO,1,Darwin,12,Davos,1,Debate,3,Decoração,1,demência,1,Demografia,3,Denúncia,12,Dermatologia,6,Desastre Natural,14,Descoberta,2,Desenho instrucional,19,Desenvolvimento de jogos,17,Desenvolvimento Pessoal,1,Design,33,Design Instrucional,19,Destaque,9,Dia das Mães,1,Dia do professor,1,diabetes,6,Dicas,66,Didática,1,Dieta,4,Dinamarca,1,diplomacia,3,Direito,188,Direito Eleitoral,2,Direito Internacional,30,Direito Militar,1,Direito Trabalhista,1,Direito Tributário,2,Direitos Autorais,4,Direitos Humanos,39,Disney,8,Distrito Federal,4,Documentário,72,Doutorado,1,download,3,Drogas,7,Drone,3,Dubai,1,e-Book,2,e-governo,2,EBC,1,Ecologia,89,Economia,119,Editoração Eletrônica,1,Educação,424,Educação a Distância,190,Educação Corporativa,6,educação física,19,Educação sexual,6,Efeitos Sonoros,4,Egiptologia,2,Eleições,30,Eleições 2014,12,Eleições 2018,5,Eleições 2020,2,Eleições 2022,1,Eletricidade,10,eletrônica,4,Elon Musk,1,Em Operários,1,Embrapa,4,empreendedorismo,7,enciclopédia,1,endocrinologia,6,Enem,3,Energia,17,Energia Alternativa,18,Energia Nuclear,12,Enfermagem,1,Engenharia,70,Engenharia Agrícola,1,Engenharia Civil,6,Engenharia de materiais,18,Engenharia de Software,16,Engenharia Genética,32,Engenharia Mecânica,2,Enretenimento,1,Ensino a Distância,11,Ensino Superior,5,Entomologia,7,Entretenimento,47,Entrevista,91,Entrevista.,1,Epidemiologia,70,Epistemologia,1,Equador,1,Escândalo,6,Escritório,1,ESMPU,1,Espaço,74,Espanha,1,Espanhol,2,Espeleologia,1,Espetáculo,8,Espionagem,20,Esporte,44,Estação,1,Estágio,2,Estatísticas,40,Estética,1,estrutura de dados,1,Ética,32,EUA,20,Europa,2,Evento,59,Evolução,5,Exercícios físicos,2,Exobiologia,3,experiência,43,fábulas,3,Facebook,20,Família,1,Farmacologia,25,Favo,1,Feminismo,2,Férias,1,Ferramentas,15,FIFA,2,Filantropia,4,Filmes,20,Filosofia,50,Finep,2,Finlândia,3,Fintech,1,Firefox,1,Física,119,Física Quântica,4,Fisiologia,10,Fisioterapia,6,Flagrante,2,Flamengo,1,Folclore,3,Fome,1,Fomento,1,Fonética,1,Fonoaudiologia,7,Fotografia,46,Fotos em 360 graus,6,França,10,Francês,4,Frase,3,Fraude,5,Freeware,75,Futebol,38,Futurologia,95,gadget,87,gadgets,1,Gafe,2,Gamificação,8,Gastroenterologia,5,Gastronomia,9,Gastroturismo,7,Geek,2,Genética,46,Geofísica,1,Geografia,57,Geologia,12,Geometria,6,geopolítica,22,Gerenciamento do Tempo,2,Geriatria,13,Gestão de Competências,3,Gestão de Configuração,2,Gestão de Pessoas,11,Gestão de Projetos,23,Gestão do conhecimento,7,Ginecologia,3,Glass,1,Golpe de Estado,1,Google,81,Governo,4,GPS,1,Gradiente,1,gramática,15,Gravidez,1,Grécia,1,Grécia Antiga,2,Guerra,43,Guerra Civil,2,Guinness,1,H2,2,Haiti,3,hardware,39,Henry Ford,1,História,217,HIV,1,Hololens,2,homenagem,46,Horologia,1,HPV,1,HTML,6,Humor,213,Humor Negro,9,IBGE,3,IBM,4,ICIJ,2,Idioma,57,IESB,2,IHC,8,ilo,29,ilusão,36,ilusionismo,5,Imagem 3D,16,Imagens,7,Imagine Cup,1,Império Romano,8,Imprensa,34,Impressora 3D,22,Imunologia,8,Incêndio,2,Inclusão digital,8,Índia,4,Índios,1,Infectologia,36,Infográfico,57,Informática,38,Inglaterra,4,Inglês,26,Inovação,206,Inspiração,1,Inteligência Artificial,168,intercâmbio,1,Interface,205,Interfaces Hápticas,24,Internacional,23,Internacionalização da Amazônia,3,Internet,166,Internet das Coisas,2,Inundação,2,Invenção,20,Inventos,6,iPad,1,IPEA,1,iphone,3,Irã,3,Iraque,1,Israel,7,Itália,2,Japão,5,Java,2,Java.,2,jogos,12,Jogos de Tabuleiro,5,Jogos educativos,20,Jogos Olímpicos,10,Jornalismo,72,José Saramago,1,Justiça,4,Ken Robinson,1,Kinect,10,Le Monde Diplomatique Brasil,9,Le Monde Diplomatique Brasil,1,Letras,2,Lexicografia,5,Liderança,4,Life Hacking,20,línguas estrangeiras,3,Linguística,11,Literatura,59,Livro,73,Lógica,26,Logística,4,Loterias,4,Lua,1,Maçonaria,4,Malásia,2,Malvinas,2,Malware,1,Mapa,96,Mário Sérgio Conti,1,Marte,4,Mastologia,1,Matemática,84,Matemática Financeira,1,maternidade,1,MEC,1,Mecânica,8,Mecânica dos Fluidos,2,Mecatrônica,47,Medalha Fields,1,Medicina,569,Medicina Esportiva,2,Medicina Veterinária,4,Meio Ambiente,131,Mel,1,melanoma,1,Memória,5,memorização,4,Mente,4,Mercado de Trabalho,85,mercosul,1,Mestrado,4,Metaverso,2,meteorologia,12,Metodologia Científica,60,México,1,Microbiologia,4,Microsoft,16,Mídia Social,61,Militar,16,Mineralogia,1,Mistério,3,MIT,15,Mitologia,2,Mobilidade,1,Mobilidade Urbana,9,Moçambique,1,Moda,1,MonaVie,1,Montanhismo,1,Moodle,7,Mossad,1,Motivação,1,Movimento Maker,3,MSF,1,Mudança Climática,30,Mulher,4,Multimídia,14,museu,16,Música,90,MVC,1,Nanotecnologia,37,Nasa,19,Natação,2,Natal,17,Natureza,2,Nefrologia,1,Negócios,31,Netflix,1,Neurociência,97,Neurologia,81,Nicolelis,1,Nordeste,2,Noruega,2,notícias,8,Novidades,18,Novo Enem,2,Números,2,Nutrição,75,Obama,1,Obesidade,11,Observatório da Imprensa,27,Obstetrícia,4,OCDE,1,Oceanografia,7,odontologia,10,Offshore Leaks,2,oftalmologia,11,Olimpíadas,9,oncologia,50,ONU,10,OpenAI,1,Opinião,107,Óptica,17,Oracle,1,Oriente Médio,5,Orkut,2,Ornitologia,1,ortografia,3,Ortopedia,4,Ótica,9,Otorrinolaringologia,2,Oxfam,3,Pacifismo,1,Paginadores,1,paleontologia,4,Palestina,1,Paquistão,1,Pará,2,Paraguai,2,parkinson,2,Passeio virtual,1,Patinação,1,Paulo Freire,1,Pedagogia,8,Pediatria,6,Pensamentos,3,performance,3,Periférico,1,Pesca,2,Pesquisa,267,Petição,1,Petrobrás,10,Petróleo,13,Photoshop,5,Pirataria,7,planilha de custo,1,Playstation 3,2,Plebiscito,3,Pneumologia,1,Podcast,7,Poesia,29,Política,323,Polônia,1,Portugal,9,português,20,Pós-graduação,2,Pré-sal,5,Prêmio Nobel,7,primatologia,1,Primeira Guerra Mundial,2,privacidade,25,produtividade,8,professor Hamilton Alves,2,Programa Gratuito,4,Programação,71,Projeção Mapeada,1,Projeto Truco,2,Promoção,1,Propaganda,5,Psicanálise,1,Psicologia,286,Psicologia Animal,26,Psiquiatria,17,Pública,14,publicidade,19,Publieditorial,6,PUC Minas,1,Quadrinhos,11,Quads,5,Qualidade,3,Qualidade de Vida,12,química,34,REA,2,realidade aumentada,47,realidade diminuída,2,Realidade Misturada,5,Realidade Virtual,50,Reconhecimento de imagem,12,Reconhecimento de voz,3,Recorde,1,Recoverit,1,Recuperar vídeos,1,Redação,1,redes,12,Referência,5,Referendo,1,Reforma Política,3,Reino Unido,2,Relacionamento,2,Relações Internacionais,41,Religião,44,Responsabilidade Social,4,Retrospectiva,1,Review,15,Rio 2016,6,Rio de Janeiro,3,Rio Grande do Norte,1,Rio Grande do Sul,1,Robert Oppenheimer,3,Robô,49,robótica,52,Roda Viva,49,Roma,6,roteiro,1,RSA,1,RTP,1,Rússia,6,Samsung,1,Sanitarismo,5,Santa Catarina,1,São Paulo,5,Saúde,625,Savant,1,Segunda Guerra Mundial,26,Segurança,128,Segurança da Informação,69,Seleção Natural,3,Séries,2,serviço,1,Serviço Online,1,Sexologia,2,sexualidade,5,Show,7,SIGGRAPH,1,Simulação,37,Singularity University,1,Síria,3,Sismologia,2,Sistema operacional,4,Sistemas de Numeração,1,Sites de Busca,22,Sociedade,5,Sociologia,55,Software,34,Software Livre,24,Sol,2,Sono,4,Sony,3,SOPA,2,Star Wars,1,Startup,2,Steve Cutts,1,Steve Jobs,1,Suécia,3,Sugestão de presentes,67,Sun,1,supercomputadores,2,Sustentabilidade,5,Tabagismo,6,Taiwan,1,Talento precoce,1,Taxas Equivalentes,1,Taxidermia,1,Teatro,27,Técnicas de Estudo,3,Tecnologia,601,Tecnologia da Informação,30,TED,448,TED-Ed,48,TedMed,2,TEDx,5,TEDx Rio+20,1,TEDxAmazônia,1,TEDxAsaSul,1,Telefonia,61,Televisão,45,Temas,1,Tempo,2,Tendência,1,Tendências,13,Teologia,6,teoria das supercordas,1,Teoria dos Jogos,1,Terremoto,9,Terrorismo,15,Tesla,1,Testes,17,Thaís Victer,2,ticker,2,TikTok,1,Tipologia,8,Tomada de Decisão,1,tradução,5,Trânsito,12,transporte,59,Tributo,3,Trigonometria,1,Tubarão,2,Tunísia,1,Turismo,30,Tutorial,23,Twitter,10,Uber,7,Ucrânia,11,UFC,1,UFES,1,UFG,2,UFMG,1,ufologia,5,UFRJ,3,UFSC,1,UNB,1,UNESCO,1,Unicamp,4,UNIFESP,1,UNIP,1,universidade,6,Universidade Corporativa,1,Universidade da Califórnica,1,Universidade da Geórgia,1,Universidade da Pensilvânia,1,Universidade de Brasília,1,Universidade de Cambridge,2,Universidade de Chicago,1,Universidade de Columbia,1,Universidade de Michigan,1,Universidade de Princeton,1,Universidade de Rochester,1,Universidade de Washington,3,University College London,1,Urbanismo,26,Urologia,2,URSS,1,User Experience,1,USP,11,Utilidade Pública,4,Utilitário,3,Vale,1,Vaticano,1,Veículo Autônomo,9,Venezuela,1,Ventriloquismo,2,Verão,1,vestibular,3,Vestimenta,1,Vida Digital,7,Vida Moderna,18,Vida Selvagem,10,Videogame,120,Vídeos,990,Vídeos 360,1,Vietnã,1,Violência,5,Vírus,18,Visão Computacional,10,Vôlei,1,Vulcanologia,8,Watergate Política,1,WCIT 2016,2,WCIT 2017,1,Web,1,Web 2.0,29,Web Application,161,Web Semântica,2,Web Seminar,1,webdesign,13,Webinar,2,widget,2,WikiLeaks,37,Wikipedia,4,Windows,5,Xadrez,2,YouTube,6,Zika,1,Zimbábue,1,Zoologia,59,
ltr
item
Brasil Acadêmico: Classe, objeto e diagrama de classes UML: um primeiro mapa da orientação a objetos
Classe, objeto e diagrama de classes UML: um primeiro mapa da orientação a objetos
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbIjHXYBRQBUIQYgRRZVJH5XWWuAdiDRqrM1_OlraBEyfWJDAespZgmNLQWaYfmYoUlF6Fp0bN1tM0cf4qDkECrZRMb9gq3RRKFDI1OrY8QCj1Kz7LacIJon97uDAm5_e4nCdYdFGJMcAEE2Ui3cLMUrHjnQ9_tTpHjteKEVT_TzsuvBO15w9Jlwq0gOE/s600/UMLclasses.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbIjHXYBRQBUIQYgRRZVJH5XWWuAdiDRqrM1_OlraBEyfWJDAespZgmNLQWaYfmYoUlF6Fp0bN1tM0cf4qDkECrZRMb9gq3RRKFDI1OrY8QCj1Kz7LacIJon97uDAm5_e4nCdYdFGJMcAEE2Ui3cLMUrHjnQ9_tTpHjteKEVT_TzsuvBO15w9Jlwq0gOE/s72-c/UMLclasses.png
Brasil Acadêmico
http://blog.brasilacademico.com/2026/05/classe-objeto-e-diagrama-de-classes-uml.html?m=0
http://blog.brasilacademico.com/?m=0
http://blog.brasilacademico.com/
http://blog.brasilacademico.com/2026/05/classe-objeto-e-diagrama-de-classes-uml.html
true
3049085869098582068
UTF-8
Todos os posts carregados Nenhum post encontrado Ver todos Saiba mais Responder Cancelar resposta Apagar Por Início Páginas POSTS Ver todos Especialmente para você Categoria Arquivo Busca Todos os posts Nenhum post coincide com sua busca Início Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sáb Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez Agora 1 minuto atrás $$1$$ minutos atrás 1 hora atrás $$1$$ horas atrás Ontem $$1$$ dias atrás $$1$$ semanas atrás Mais de 5 semanas atrás Seguidores Seguir Conteúdo PREMIUM fechado Passo 1: Compartilhar com a rede social Passo 2: Clique no link da sua rede social Copiar todo código Selecionar todo código Todos os código copiados para a memória Não posso copiar o código / textos, favor teclar [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de Conteúdo