Buscar

Conceitos do Paradigma Orientado a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Durante o desenvolvimento do projeto, foi necessário criar um método construtor para a classe Empregado. 
Assinale a opção que apresenta a criação do método construtor. 
 
 
_empregado_(self, matricula, cargo): 
 
def _construtor_(self, matricula, nome, cargo): 
 
def _init_(self, matricula, nome, cargo): 
 
def _empregado_(self, matricula, nome, cargo): 
 
_init_(self, matricula, cargo): 
 
 
 
Explicação: 
 O método construtor é criado através da sintaxe: 
 def _init_(): 
 
 
 
 
 
2. 
 
 
Toda linguagem orientada a objetos permite a especificação de 
métodos construtores na classe, os quais são responsáveis pela 
inicialização do objeto recém-alocado na memória. Na linguagem 
Python este método recebe o seguinte nome: 
 
 
def 
 
this 
 
__init__ 
 
constructor 
 
self 
 
 
 
Explicação: 
O método construtor é denominado __init__, sendo definido, como os demais métodos, através de def 
__init__(self, parâmetros...). Quanto aos demais, def serve para criar uma função ou método e self é o 
ponteiro de auto-referência implícito do Python. O this e o constructor não pertencem à sintaxe Python. 
 
 
 
 
 
3. 
 
 
Assinale a alternativa que implementa a função IMC. Esta função 
recebe como parâmetro de entrada o peso e a altura de uma 
pessoa e retorna com o valor do IMC. 
 
 
def IMC(peso, altura): 
 calculo = float(peso) / float(altura) * float (altura)) 
 return calculo 
 
IMC(): 
 calculo = float(peso) / float(altura) * float (altura)) 
 return calculo 
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
 
IMC(peso, altura): 
 calculo = float(peso) / float(altura) * float (altura)) 
 return calculo 
 
def IMC(peso, altura): 
 calculo = float(peso) / float(altura) * float (altura)) 
 print(calculo) 
 
IMC(peso, altura): 
 calculo = float(peso) / float(altura) * float (altura)) 
 print(calculo) 
 
 
 
Explicação: 
Estrutura de uma função em Pyhton: 
1. Toda função em Python começa com o comando def. 
2. Depois do def, há o nome da função. 
3. Em seguida, aparece a lista de parâmetros, que pode estar vazia, mas os parênteses são 
obrigatórios. 
4. Após essa lista, estão os dois pontos (¿:¿). 
5. Todo o código que estiver indentado fará parte do corpo da função. A indentação é muito 
importante na definição de funções. 
6. Toda função termina com o comando return, que pode ser seguido ou não de uma variável de 
retorno. 
 
 
 
 
 
4. 
 
 
 Ao definirmos uma classe Carro em Python, qual seria um 
possível método para ela? 
 
 
define plantar(lugar): 
 
define fechar(): 
 
def somar(a,b): 
 
define acender(valor): 
 
def acelerar(vel): 
 
 
 
Explicação: 
A resposta é a letra b, porque um método é uma ação a ser executado pelo objeto, no caso, um carro 
possui como uma ação possível a aceleração, as letras c, d e e estão com uma palavra chave define que 
não é do python, e a letra a, somar dois parâmetros não se encaixa no objeto carro. 
 
 
 
 
 
5. 
 
Durante o desenvolvimento de um programa em Pyhton foi criada 
a função cadastro, a qual recebe como parâmetros o nome e a 
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
 
idade de uma pessoa, respectivamente. 
Assinale a alternativa que executa a função corretamente. 
 
 
cadastro() 
 
cadastro (20, "Paulo") 
 
cadastro("Paulo", 20) 
 
def cadastro ("Paulo", 20) 
 
def cadastro(20, "Paulo") 
 
 
 
Explicação: 
Para chamarmos uma função devemos usar a seguinte sintaxe: 
 Nome da função (parâmetros de entrada) 
 
 
 
 
 
6. 
 
 
Em orientação a objetos, a característica que determina a 
possibilidade de um descendente alterar a funcionalidade de um 
método herdado é deominada: 
 
 
polimorfismo 
 
abstração 
 
composição 
 
encapsulamento 
 
herança 
 
 
 
Explicação: 
Através da herança é possível criar uma nova classe a partir de outra já existente, aproveitando suas 
características, mas algumas funcionalidades podem não ser adequadas, podendo ser modificadas através 
da sobrescrita destes métodos, segundo um processo denominado polimorfismo. 
 
 
 
 
 
7. 
 
 
Para acessar o atributo de um objeto Python, pode ser utilizado, 
alternativamente ao acesso direto, a seguinte função: 
 
 
hasattr 
 
delattr 
 
setattr 
 
getattr 
 
expattr 
 
 
 
Explicação: 
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
Funções: getattr - retorna o valor do atributo, hasattr - testa se existe o atributo, setattr - seta o valor do 
atributo, delattr - remove o atributo, expattr - não existe. 
 
 
Qual das opções abaixo contém conceitos apenas do paradigma orientado a objetos? 
 
 
atribuição, algoritmo 
 
método, classe, herança 
 
 função, variável 
 
classe, estrutura de repetição 
 
variável, estrutura condicional 
 
 
 
Explicação: 
A resposta é a letra a, que possui três conceitos que se aplicam a orientação a objetos. 
 
 
 
 
 
2. 
 
 
Qual dos comandos abaixo define uma relação de 
herança em Python? 
 
 
class Carro is Veiculo 
 
class Carro inherits Veiculo 
 
class Carro extends Veiculo 
 
class Carro(Veiculo) : 
 
Carro is Veiculo 
 
 
 
Explicação: 
A resposta é a letra a, que tem a sintaxe correta para definir, em Python, que a classe Carro é uma 
extensão da classe Veiculo. 
 
 
 
 
 
3. 
 
 
Qual é a saída do comando abaixo: >>> a='10' >>> print(a*2) 
 
 
20 
 
1010 
 
`20¿ 
 
100 
 
Erro! 
 
 
 
Explicação: A variável a contém uma string. Usar o operador "*" vai repeti-la 
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
 
 
4. 
 
 
Qual é o objetivo do comando super() na declaração abaixo? 
class Carro(Veiculo): 
 def __init__(self,vel,marca): 
 super().__init__(vel) 
 self.marca = marca 
 
 
Permite que a classe herde o método da superclasse. 
 
Nenhuma das respostas anteriores está correta. 
 
Uso de polimorfismo em Python. 
 
Apenas a sintaxe normal para a definição de uma classe simples em Python. 
 
Inicializa a variável vel. 
 
 
 
Explicação: 
A resposta é letra a. É desse modo que se implementa a sobrecarga de métodos em Python, 
possibilitando extender a funcionalidade da superclasse para as classes filhas. 
 
 
 
 
 
5. 
 
 
Seja a classe definida como FormaGeométrica em Python, qual 
das opções abaixo poderia ser uma classe herdada dessa classe? 
 
 
class Carro(FormaGeometrica) 
 
class Animal(FormaGeometrica) 
 
Nenhuma das opções está correta. 
 
class Quadrado(FormaGeometrica) 
 
class Pessoa(FormaGeometrica) 
 
 
 
Explicação: 
A resposta é class Quadrado(FormaGeometrica), classe Quadrado, porque uma subclasse herda as 
propriedades da superclasse, e como só existe uma única forma geométrica entre as opções ela é a 
resposta correta. 
 
 
 
 
 
6. 
 
A função abaixo em Python ilustra um conceito muito importante 
no paradigma funcional. 
def fatorial(valor): 
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
https://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 if valor == 0: 
 return 1 
 else: 
 return valor * fatorial(valor-1) 
Qual é esse conceito? 
 
 
Tipagem dinâmica 
 
Multiparadigmas 
 
Orientação a objetos 
 
Linguagens de script 
 
Recursividade 
 
 
 
Explicação: 
A resposta é a letra c. A função implementa a função fatorial que chama a ela mesma no comando else. 
Esse conceito de uma função chamar ela mesma é definido por recursividade. 
 
 
 
 
 
7. 
 
 
Considere a seguintedefinição da classe fração: 
class Fracao: 
 def __init__(self,num,den): 
 self.num = num 
 self.den = den 
Qual seria um possivel cabeçalho para um método de multiplicar 
duas frações? 
 
 
def mul(fracao1, fracao2) 
 
f.multiplicar(f) 
 
Nenhuma das anteriores está correta. 
 
fracao.multiplicar(f1) 
 
def __mul__(self,fracao): 
 
 
 
Explicação: 
A resposta é: 
def __mul__(self,fracao): 
onde é passado como parâmetro um objeto da classe Fracao de onde serão retirados o numerador e o 
denominador. 
https://simulado.estacio.br/bdq_simulados_exercicio.asp

Continue navegando