Programação Orientada a Objetos
Repositório contendo um exemplo de projeto de programação orientada a objetos desenvolvido em Java.
O projeto conta com uma classe abstrata denominada Pessoa, duas classes filhas de Pessoa denominadas Paciente e Funcionario, uma classe filha de Funcionario denominada Medico, assim como uma classe denominada Prontuario que implementa uma interface denominada Consulta.
classDiagram
class Pessoa {
#String nome
#int idade
}
<<abstract>> Pessoa
class Paciente {
-String gravidade
-float peso
-float altura
-boolean alta
}
Pessoa <|-- Paciente
class Funcionario {
#int id
#float salario
+ receber()
}
Pessoa <|-- Funcionario
class Medico {
-String especialidade
-boolean plantao
+receber()
}
Funcionario <|-- Medico
class Consulta {
+examinar() *
+diagnosticar(diagnostico) *
+receitar() *
+receitar(comprimido, quantidade, horario) *
+receitar(injecao, quantidade) *
+liberar() *
+internar() *
}
<<interface>> Consulta
class Prontuario {
-Paciente paciente
-Medico medico
-String diagnostico
-String receita
}
Consulta <|.. Prontuario
Prontuario *-- Paciente
Prontuario *-- Medico
Pessoa
A classe Pessoa se trata de uma classe abstrata com os atributos protegidos nome e idade, assim como seu método construtor e métodos getters e setters.
Paciente
A classe Paciente herda os atributos de Pessoa e conta ainda com os atributos privados gravidade, peso, altura e alta, assim como seu método construtor e métodos getters e setters.
Funcionário
A classe Funcionario herda os atributos de Pessoa e conta ainda com os atributos protegidos id e salario, assim como seu método construtor e métodos getters e setters.
A classe conta ainda com um método público denominado receber que confirma o recebimento do salário no console.
public void receber() {
System.out.println("Funcionário(a) " + this.nome + " recebeu " + this.salario + " pelo mês corrente.");
}
Medico
A classe Medico herda os atributos e métodos de Funcionario e conta ainda com os atributos privados especialidade e , assim como seu método construtor e métodos getters e setters.