Prévia do material em texto
Você acertou 1 de 9 questões Verifique o seu desempenho e continue treinando! Você pode refazer o exercício quantas vezes quiser. Verificar Desempenho 1 Marcar para revisão O polimorfismo em Python permite que você crie código mais genérico e flexível, facilitando a expansão e manutenção do seu programa. É uma característica poderosa da POO que ajuda a escrever código mais eficiente e organizado. Qual é a principal vantagem do polimorfismo em programação orientada a objetos? Questão 1 de 9 Corretas �1� Incorretas �8� Em branco �0� 1 2 3 4 5 6 7 8 9 Exercicio Python Orientado a Objetos Sair 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 1/16 A B C D E Permite o isolamento de código. Facilita a correção de bugs em tempo de execução. Possibilita que objetos tenham diferentes comportamentos. Garante que todos os objetos utilizem os mesmos métodos. Protege os atributos de um objeto contra acesso não autorizado. Resposta incorreta Opa! A alternativa correta é a letra C. Confira o gabarito comentado! Gabarito Comentado O polimorfismo permite que objetos de diferentes tipos respondam a chamadas de métodos com o mesmo nome, mas com comportamentos específicos para cada tipo. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 2/16 A B C D E 2 Marcar para revisão Em Python, objetos são instâncias de classes e são fundamentais para a programação orientada a objetos �POO�. A POO é um paradigma de programação que organiza o código em torno de objetos, que representam entidades do mundo real com características (atributos) e comportamentos (métodos). O que acontece quando você executa o comando "conta1 � conta2" em Python, considerando que ambos são objetos da classe Conta? conta1 será copiado para conta2 conta2 será copiado para conta1 Os objetos conta1 e conta2 serão fundidos Nada, pois este comando é inválido conta1 e conta2 apontarão para o mesmo objeto na memória 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 3/16 A B Resposta incorreta Opa! A alternativa correta é a letra E. Confira o gabarito comentado! Gabarito Comentado O comando faz com que conta1 referencie o mesmo objeto que conta2 está referenciando. Ambos os identificadores agora apontam para o mesmo objeto na memória, e as mudanças feitas através de um afetarão o outro. 3 Marcar para revisão O ensino de programação já é realidade em escolas de países desenvolvidos. Brincadeiras lúdicas, jogos digitais e comandos simples são utilizados para introduzir o aluno a essa nova realidade. Na fase adulta, o aluno poderá se especializar em uma linguagem já tendo a base de programação e o raciocínio lógico desenvolvidos no ciclo básico de educação. Acerca das diferentes linguagens e seus propósitos, assinale a opção que contém apenas as linguagens de programação que são interpretadas em tempo real. PHP e Python. C, Pascal e Java. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 4/16 C D E C��, JavaScript e Fortran. C e Python. C�� e Java. Resposta incorreta Opa! A alternativa correta é a letra A. Confira o gabarito comentado! Gabarito Comentado As linguagens de programação PHP e Python são interpretadas em tempo real. Isso significa que o código é executado linha por linha pelo interpretador, sem a necessidade de um processo de compilação prévio. Essa característica torna essas linguagens mais flexíveis e dinâmicas, permitindo a execução de códigos de maneira mais imediata. Portanto, a alternativa que contém apenas linguagens interpretadas em tempo real é a "PHP e Python". 4 Marcar para revisão A herança múltipla é um conceito na programação orientada a objetos que permite que uma classe herde atributos e métodos de mais de uma classe pai (ou superclasse). Isso 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 5/16 A B C D E significa que uma classe filha pode herdar características e comportamentos de várias classes diferentes. Qual das seguintes linguagens de programação implementa herança múltipla diretamente por meio de classes? Java C�� Python Java e Python Java e C�� Resposta incorreta Opa! A alternativa correta é a letra C. Confira o gabarito comentado! Gabarito Comentado 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 6/16 A B C A linguagem Python implementa herança múltipla diretamente por meio de classes. 5 Marcar para revisão �COVEST�COPSET/2019 � Adaptada) Dentro do contexto de linguagens de programação e de orientação a objetos, o conceito de polimorfismo descreve meios em que classes abstratas e concretas podem se relacionar. Assinale a alternativa que conceitua corretamente polimorfismo. Uma possível forma de implementar polimorfismo em uma linguagem de programação é através do polimorfismo universal paramétrico, em que a conversão de tipos sobre os parâmetros de uma função se dá implicitamente. Linguagens de programação que implementem o conceito de herança também precisam implementar o conceito de polimorfismo por construção. A implementação de polimorfismo em linguagens de programação se vale do conceito de ligação tardia, em que o tipo de uma variável só é conhecido em tempo de execução. Isso significa que linguagens compiladas não possuem polimorfismo na forma estrita. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 7/16 D E Polimorfismo representa um conceito em que um mesmo nome (como uma variável, por exemplo) pode denotar objetos de diferentes classes que estão relacionadas por uma superclasse comum. Linguagens de programação que não possuem tipo, como, por exemplo, Python não podem implementar polimorfismo. Resposta incorreta Opa! A alternativa correta é a letra D. Confira o gabarito comentado! Gabarito Comentado Polimorfismo é um conceito em que um mesmo nome (como uma variável, por exemplo) pode denotar objetos de diferentes classes que estão relacionadas por uma superclasse comum. No contexto de programação orientada a objetos, o polimorfismo é a capacidade de um objeto assumir diferentes formas e comportamentos em diferentes situações. Isso permite que um objeto de uma classe possa ser tratado como um objeto de outra classe que esteja relacionada a ela por herança, proporcionando flexibilidade e reutilização de código. 6 Marcar para revisão 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 8/16 A B C D E �TRE�CE/2012 � Adaptada) Compreender os princípios do desenvolvimento de software orientado a objetos é fundamental para o profissional de TI moderno. Acerca da linguagem de programação Python, é correto afirmar que: I. Excetuando-se as classes, tudo é um objeto (tipos, valores, funções, métodos e instâncias), e todos possuem atributos e métodos associados. II. Um ponto fundamental da sintaxe para métodos é que o primeiro argumento é especial, e convenciona- se utilizar o nome self para ele. III. O método construtor (p.ex.: __init__()) é um método opcional invocado quando a classe é instanciada. IV. Instâncias são objetoscriados a partir de uma classe definida pelo programador; o que Python chama de instância é frequentemente denominado objeto em outras linguagens. II, III e IV, apenas. I e II, apenas. I e IV, apenas. I, II e IV, apenas. III e IV, apenas. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 9/16 Resposta incorreta Opa! A alternativa correta é a letra A. Confira o gabarito comentado! Gabarito Comentado A resposta correta é: II, III e IV, apenas. Na linguagem Python absolutamente tudo é objeto, inclusive as classes, que na verdade são objetos de object. Object é um objeto do tipo type que possui vários atributos e métodos próprios. 7 Marcar para revisão Analise o código Python a seguir. class End_simples(object): def __init__(self, rua, num, bairro): self.rua = rua self.num = num self.bairro = bairro def Endereco(self): return self.rua + ", " + self.num + " " + self.bairro class End_com(End_simples): def __init__(self, rua, num, bairro, com): 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 10/16 A B End_simples.__init__(self, rua, num, bairro) self.com = com def Endereco(self): return End_simples.Endereco(self) + ", " + self.com a = End_simples("Av Brasil", "243", "Floresta") b = End_com("Av Miracema", "12", "Centro", "apto 3") print(a.Endereco()) print(b.Endereco()) Sabe-se que a execução desse código produziu as duas linhas a seguir. Av Brasil, 243 Floresta Av Miracema, 12 Centro, apto 3 Assinale a opção que apresenta a correta definição para o método Endereco na classe End_com. return self.Endereco()+ ", " + self.com return End_simples.Endereco() \+ ", " + self.com 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 11/16 C D E return super(End_com, self).Endereco() \+ ", " + self.com return parent(End_com, self).Endereco() \+ ", " + self.com return self.parent.Endereco() \+ ", " + self.com Resposta incorreta Opa! A alternativa correta é a letra C. Confira o gabarito comentado! Gabarito Comentado A resposta correta é: return super(End_com, self).Endereco() \+ ", " + self.com No método Endereco da classe End_com deve ser feita uma chamada ao método Endereco de sua classe Pai, a classe End_simples, o qual retorna os valores para rua, número e bairro em forma de uma string: return self.rua + `,¿ � self.num + `\¿ � self.bairro (esses valores são passados por parâmetro ao construtor End_simples dentro do construtor da classe End_com, pois há entre essas duas classes um relacionamento de herança). O método Endereco de End_com concatena a string retornada pelo método Endereco de End_simples com o valor da variável self.com de End_com, sendo essa string concatenada o seu valor de retorno. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 12/16 8 Marcar para revisão �DPE�RJ/2014� Considere o seguinte trecho de um programa escrito na linguagem Python. class Carro(object): def FaleComigo(self): print ("Sou um carro") class Fusca (Carro): def FaleComUmFusca(self): print ("Sou um Fusca") x = Carro() y = Fusca() x.FaleComigo() y.FaleComigo() No primeiro bloco, o método FaleComigo é definido para a classe Carro, que simplesmente produz a mensagem "Sou um carro" ao ser invocado. Para a classe Fusca, definida no segundo bloco, foi definido o método FaleComUmFusca, que apenas produz a mensagem "Sou um Fusca". No terceiro bloco, os objetos x e y tornam-se instâncias das classes Carro e Fusca, respectivamente. No quarto bloco, o método FaleComigo é invocado para cada um dos dois objetos, x e y. Ao ser executado, esse programa produz duas linhas na sua tela de saída: Sou um carro Sou um carro A mensagem produzida no comando y.FaleComigo deve-se ao mecanismo de 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 13/16 A B C D E Abstração. Associação. Interface. Herança. Polimorfismo. Resposta incorreta Opa! A alternativa correta é a letra D. Confira o gabarito comentado! Gabarito Comentado A resposta correta é: herança. O mecanismo que forneceu o comportamento é a HERANÇA. Observe que classe filha (fusca) herda da classe mãe (carro) seus métodos e atributos adicionando um grau de especialização. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 14/16 A B C D E 9 Marcar para revisão Em Python, o termo "self" é uma convenção amplamente usada, embora seja apenas um nome de variável como qualquer outro. Ele é usado como o primeiro parâmetro em definições de métodos em uma classe e representa a instância atual da classe. Em Python, o que o termo "self" em um método de uma classe se refere? A classe em si O método em si O objeto que chama o método O construtor da classe A superclasse imediata Resposta correta Parabéns, você selecionou a alternativa correta. Confira o gabarito comentado! 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 15/16 Gabarito Comentado Em Python, "self" é uma referência à instância atual da classe (objeto) e é usado para acessar variáveis que pertencem à classe. 02/06/2024, 19:12 estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ https://estacio.saladeavaliacoes.com.br/exercicio/665cedf0689ede084069bb9b/gabarito/ 16/16