Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CENTRO UNIVERSITÁRIO DA GRANDE DOURADOS 
 
Curso: TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
Semestre: 2º 
Disciplina: Programação Orienta a Objetos 
Professora: Me. France Ricardo Marques Gonzaga 
 
Atividades das Aulas 05 a 08 
 
1)Explique o mecanismo de Herança da Programação Orientada a Objetos? 
O mecanismo de herança é muito simples, uma classe vai herdar as 
características de outra classe, começa a complicar quando começamos a pensar em 
como ela vai herdar, pois a classe pai pode bloquear alguns acessos a caraterísticas que 
ele não quer que seja acessado pela classe filho. As características na classe pai pode ser 
classificadas como public, protected e private, a classe filha só vai poder acessar aquilo 
que lhe é permito, menos a private que é privado a classe pai. 
Esse mecanismo nos ajuda a montar todo o processo de desenvolvimento do 
sistema e facilita toda a manutenção que será dada ao projeto no futuro próximo. Tendo 
isso em mente, torna mais claro a importância da herança na POO, facilitando a vida de 
quem desenvolve e de quem vai dar a manutenção. 
 
Complete 
2) Se um atributo for declarado como protected, ele só pode ser utilizado na classe pai 
onde foi criado e nas classes filhas. Isso significa que quando ocorrer algum bug, você 
só precisa procurar na classe em que o atributo foi declarado e nas classes herdeiras. 
 
01) Como o polimorfismo promove a extensibilidade? 
Promove a extensibilidade com o poder que é dado a classe filho de estender da 
classe pai um método que pode ser redefinido na classe derivada. Podendo ser 
executado e alterado dependendo de como ele é chamado. Isso é muito útil dentro da 
POO, pois vai ajudar na implementação e no desenvolvimento do projeto e na sua 
manutenção. 
 
02) Explique o que é sobrecarga de operadores e quais são suas limitações? 
Sobrecarga de operadores é usar o mesmo nome para tarefas parecidas, mas com 
código de programação diferente, implementando uma nova maneira de um operador 
funcionar, é uma forma de definir itens já existentes. A limitação está na utilização de 
operadores já existentes, alguns podem ser reescritos, mas outros não, tem o objetivo de 
simplificar a notação e uniformizar a expressão. 
 
 
 
 
Complete 
01) Perceba que, para chamarmos a função, devemos declarar o tipo, pois apesar do 
valor, está sendo passado com o ponto indicando que o número não é inteiro. Isso 
diferencia uma função da outra, uma com o tipo “int” e a outra com o tipo “float”, o que 
torna as funções distintas, sendo que as duas possuem o mesmo nome “abs”. 
 
02) Qual a vantagem de utilizar a sobrecarga de funções? 
Pode se usar o mesmo nome em várias funções, mas com parâmetros diferentes, isso 
ajuda na hora de aplicar a função desejada, pois ela vai ser escolhida conforme os 
parâmetros passados, pois dependendo do que foi passado na função ela vai realizar 
uma determinada tarefa. Isso é vantajoso para determinar um procedimento que é 
realizado a partir dos parâmetros passado, facilitando a implementação. 
 
 
01) Implemente um programa onde você tenha que criar uma classe template que você 
insira 4 notas. Depois calcule a média, sendo que essas notas podem ser do tipo float ou 
do tipo int. Crie a implementação completa, inclusive a função main. 
 
#include <iostream> 
using namespace std; 
 
template <class T> 
T GetMax () { 
 T result,a,b,c,d; 
 cout<<"Nota 1: "<< endl; 
 cin >> a; 
 cout<<"Nota 2: "<< endl; 
 cin >> b; 
 cout<<"Nota 3: "<< endl; 
 cin >> c; 
 cout<<"Nota 4: "<< endl; 
 cin >> d; 
 result = (a + b +c + d)/4; 
 cout << result << endl; 
 
}; 
 
int main () { 
 GetMax<float>(); 
 return 0; 
} 
 
 
02) Escreva uma template de função chamada Maximo. A função requer dois valores de 
mesmo tipo que os argumentos e retorna o maior dos dois argumentos (ou qualquer 
valor, se forem iguais). Dê tanto a declaração quanto a definição da função para o 
template. Você utilizará o operador < em sua definição. Portanto esse template de 
função será aplicado apenas a tipos para os quais < está definido. Escreva um 
comentário para a declaração de função que explique essa restrição. 
#include <iostream> 
using namespace std; 
 
template <class T> 
T Maximo (T a, T b) { 
 /*a template Maximo receber os valores podendo receber qualquer valor, 
 mas estamos passando um tipo float*/ 
 if (a > b){ /*aqui fazemos a comparação entre os dois valores*/ 
 cout << a << endl; /*se 'a' for maior que 'b' apresenta 'a'*/ 
 }else{ 
 cout << b << endl; /*se 'b' for maior que 'a' apresenta 'b'*/ 
 } 
}; 
 
int main () { 
 float a, b; 
 cout<<"Valor 1: "<< endl; 
 cin >> a; 
 cout<<"Valor 2: "<< endl; 
 cin >> b; 
 Maximo<float>(a, b); 
 /*inserimos dois valores do tipo float e passamos eles na função */ 
 return 0; 
}

Mais conteúdos dessa disciplina