Projeto Integrado Polimorfismo e Herança na Linguagem Python
Por: Yorrmania Borges • 10/11/2022 • Trabalho acadêmico • 1.575 Palavras (7 Páginas) • 112 Visualizações
[pic 1][pic 2]
[pic 3]
[pic 4]
[pic 5]
[pic 6]
[pic 7]
[pic 8]
[pic 9]
[pic 10]
SUMÁRIO
1 INTRODUÇÃO 3
2 DESENVOLVIMENTO 4
3 CONCLUSÃO 10
REFERÊNCIAS 11
INTRODUÇÃO
O presente trabalho tem como objetivo aprofundar os conhecimentos adquiridos nas disciplinas do semestre, colocando em prática os conceitos estudados, irá abordar temas como Orientação a Objetos, conceitos como Polimorfismo e Herança na linguagem Python, Threads, tipos de junção e aplicação da linguagem de programação Java.
.
DESENVOLVIMENTO
TAREFA 1 - Orientação a objetos é um paradigma aplicado na programação que consiste na interação entre diversas unidades chamadas de objetos.
Polimorfismo como um princípio a partir do qual as classes derivadas de uma única classe base são capazes de invocar os métodos que, embora apresentem a mesma assinatura, comportam-se de maneira diferente para cada uma das classes derivadas. É um mecanismo por meio do qual selecionamos as funcionalidades utilizadas de forma dinâmica por um programa no decorrer de sua execução.
Exemplo: Um dos motivos da compra do carro foi a qualidade do sistema de som dele. Mas, no caso em questão, a reprodução só pode ser feita através do rádio ou bluetooth, já no carro antigo, poderia apenas via cartão SD e pendrive. Em ambos os carros está presente o método “tocar música”, entretanto, como o sistema de som é diferente, o modo de tocar música também é diferente. O método "tocar música" é uma forma de polimorfismo, pois dois objetos, de classes diferentes, têm um mesmo método que é implementado de formas distintas, ou seja, um método possui várias formas, várias implementações diferentes em classes diferentes, mas que possui o mesmo efeito ("polimorfismo" vem do grego poli = muitas, morphos = forma).
Apesar de serem diferentes, moto e carro possuem os mesmos métodos acelerar e acender farol, que são chamados da mesma forma, apesar de serem implementados de maneiras diferentes.
A Herança possibilita que as classes compartilhem seus atributos, métodos e outros membros da classe entre si. Para a ligação entre as classes, a herança adota um relacionamento esquematizado hierarquicamente.
Na Herança temos dois tipos principais de classe:
Classe Base: A classe que concede as características a uma outra classe.
Classe Derivada: A classe que herda as características da classe base.
O fato de as classes derivadas herdarem atributos das classes bases assegura que programas orientados a objetos cresçam de forma linear e não geometricamente em complexidade. Cada nova classe derivada não possui interações imprevisíveis em relação ao restante do código do sistema.
Com o uso da herança, uma classe derivada geralmente é uma implementação especifica de um caso mais geral. A classe derivada deve apenas definir as características que a tornam única.
Exemplo: Foi realizada a compra de um carro com os atributos desejados pelo cliente. Apesar de ser único, existem carros com os mesmos atributos ou formas alteradas. O modelo adquirido foi o Fit, da Honda. Esse modelo possui uma outra versão, chamada WR-V (ou "Honda Fit Cross Style"), a mesma possui atributos semelhantes a versão clássica, mas com algumas diferenças grandes para transitar em estradas de terra: o motor é híbrido (aceita álcool e gasolina), um sistema de suspensão diferente, supondo que além disso ele tenha um sistema de tração diferente (tração nas quatro rodas). Além dos atributos, alguns mecanismos mudam, mas a versão "Cross" ainda é do modelo Honda Fit, ou de outro modo, é um tipo do modelo.
Quando que uma classe A e um tipo de classe B, dizemos que a classe A herda as características da classe B e que a classe B é mãe da classe A, criando uma herança entre elas. No caso do carro, vemos então que um Honda Fit "Cross" é um tipo de Honda Fit, e o que muda são alguns atributos (paralama reforçado, altura da suspensão etc), e um dos métodos da classe (acelerar, pois agora há tração nas quatro rodas), mas o resto permanece igual, e o novo modelo recebe os mesmos atributos e métodos do modelo clássico.
O que são Threads?
A tradução de Thread (em inglês) significa "fio" ou "linha", e no contexto dos microprocessadores representa uma ordem de execução, com instruções encadeadas que são desempenhadas uma por vez.
Estes são os estados de Thread:
- NEW - ela foi criada e está pronta para iniciar (start())
- RUNNABLE - ela está rodando (não existe o estado RUNNING)
- BLOCKED - ela está travada, em geral por Lock ou alguma operação de IO
- WAITING - ela está aguardando outro thread para rodar
- TIMED_WAITING - a mesma coisa, mas há um limite de tempo que ela esperará
- TERMINATED - ela terminou a execução, mas ainda existe (não existe o estado DEAD)
Os benefícios da programação multithread;
Possibilidade de minimizar a alocação de recursos do sistema;
Diminuir o overhead na criação, troca e eliminação de processos;
O tempo para a troca de execução de um Thread é menor do que um processo.
Capacidade de resposta - o multithreading em um aplicativo interativo pode permitir que um programa continue em execução mesmo se uma parte dele estiver bloqueada ou executando uma operação demorada, aumentando assim a capacidade de resposta ao usuário.
...