| Estatutário | Celetista |
| Matrícula | Matrícula |
| Nome | Nome |
| Cargo | Cargo |
| Salário | Salário |
| Adicional por tempo de serviço | Valor de recolhimento para o INSS |
Após concluir o módulo de Controle dos Recursos Humanos, pretende-se implementar os módulos de Controle de Imóveis e Financeiro. Todos estes módulos executarão operações de cadastro, consulta, alteração e exclusão de dados em um banco de dados relacional Oracle.
Com base nas informações fornecidas, pede-se:
a. Descreva, considerando os conceitos da orientação a objetos, como devem ser implementadas as classes Celetista e Estatutário para que não haja redundância de atributos nestas classes. Não há necessidade de escrever o código-fonte das classes, mas sim de descrever com que atributos o conjunto de classes necessárias deve ser implementado.
b. Desenhe o Diagrama de Classes da UML para a solução proposta no item a.
c. Implemente o método getGratificacao nas classes Estatutário e Celetista, em Java, considerando os percentuais de gratificação descritos.
d. Descreva como se pode obter polimorfismo a partir do conjunto de classes necessárias para o caso apresentado.
e. Indique a alternativa da orientação a objetos mais adequada para obrigar todos os módulos (Controle dos Recursos Humanos, Controle de Imóveis e Controle Financeiro) a executar as operações de cadastro, consulta, alteração e exclusão. Justifique sua resposta.
Ops! Esta questão ainda não tem padrão de resposta.
Ops! Esta questão ainda não tem resolução em texto.
Ops! Esta questão ainda não tem resolução em vídeo.
Questões Relacionadas
Considere o algoritmo iterativo mostrado a seguir, utilizado para determinar o maior e o menor elemento de um vetor A[1..n].
void MaxMin (int *A, int N) {
int Max = A[0];
int Min = A[N – 1];
for (int j = 1; j <= N – 1; j++)
if (A[j] > Max) Max = A[j];
else if (A[j] < Min) Min = A[j];
printf(“%d, %d”, Max, Min);
}
Nesse vetor, sabe-se que N elementos estão distribuídos aleatoriamente.
Considerando essas informações, elabore um texto dissertativo e argumentativo análise de algoritmos abordando, necessariamente, respostas para os seguintes questionamentos:
1) Qual a função de complexidade do número de comparações de elementos no melhor e no pior caso?
n Qual s…
Para resolver esta questão, considere o seguinte código-fonte escrito na linguagem Pyton.
import threading
import time
lock1 = threading.Lock()
lock2 = threading.Lock()
def T1():
print(“T1: tentando adquirir lock1”)
lock1.acquire()
time.sleep(1)
lock2.acquire()
lock2.release()
lock1.release()
print(“T1: Finalizada”)
def T2():
print(“T2: tentando adquirir lock2”)
lock2.acquire()
time.sleep(1)
lock1.acquire()
lock1.release()
lock2.release()
print(“T1: Finalizada”)
t1 = threading.Thread(target = T1)
t2 = threading.Thread(target = T2)
t1.start()
t2.start()
t1.join()
t2.join()
Tendo por base as informações a…
O intercâmbio de dados entre aplicações é o processo de transmitir e receber informações entre sistemas distintos, permitindo que eles operem em conjunto e compartilhem dados de forma integrada. Esse processo é essencial em cenários onde diferentes aplicações precisam colaborar para fornecer uma experiência coesa ou uma visão unificada dos dados.
Dois dos principais formatos de dados utilizados atualmente são JSON (JavaScript Object Notation), formato leve e fácil de ler, amplamente usado em APIs RESTful; e o XML (Extensible Markup Language), mais verboso que o JSON, mas permite esquemas complexos, sendo comum em Web Services SOAP.
A seguir, é apresentado um fragmento de código em XML:
<p…



