Este projeto consiste em uma estrutura de classes em JavaScript para representar alunos e turmas, com diferentes níveis de encapsulamento e hierarquia entre elas.
A classe Aluno
representa um aluno em um sistema educacional. Possui os seguintes atributos:
nome
: O nome do aluno.login
: O login do aluno.ra
: O Registro Acadêmico (RA) do aluno.
constructor(nome, login, ra)
: Construtor da classeAluno
, que inicializa os atributosnome
,login
era
.
A classe Turma
representa uma turma genérica. Possui os seguintes atributos:
#codigo
: O código identificador da turma.#nota
: A nota da turma.
constructor(codigo, nota)
: Construtor da classeTurma
, que inicializa os atributos#codigo
e#nota
.get nota()
: Método para obter a nota da turma.set nota(nota)
: Método para definir a nota da turma.get codigo()
: Método para obter o código da turma.set codigo(codigo)
: Método para definir o código da turma.aprovado()
: Método que verifica se a turma está aprovada com base na nota.
A classe TurmaPresencial
é uma subclasse de Turma
e representa uma turma presencial, que inclui informações adicionais sobre frequência. Possui os seguintes atributos:
#frequencia
: A frequência do aluno na turma presencial.
constructor(codigo, nota, frequencia)
: Construtor da classeTurmaPresencial
, que inicializa os atributoscodigo
,nota
efrequencia
.get frequencia()
: Método para obter a frequência do aluno na turma presencial.set frequencia(frequencia)
: Método para definir a frequência do aluno na turma presencial.aprovado()
: Método que verifica se o aluno está aprovado na turma presencial, considerando a nota e a frequência.
- Encapsulamento: As classes
Turma
eTurmaPresencial
usam o recurso de campos privados (usando#
) para encapsular os atributos#codigo
,#nota
e#frequencia
, garantindo que só possam ser acessados dentro das próprias classes. - Hierarquia: A classe
TurmaPresencial
é uma subclasse deTurma
, o que significa que herda todos os atributos e métodos deTurma
e pode estender ou modificar seu comportamento conforme necessário. de como você pode documentar a estrutura das suas classes em um README.md para facilitar a compreensão e o uso por parte de outros desenvolvedores.