Giter Site home page Giter Site logo

on21-imersao-js-s3-oop-1's Introduction

logo reprograma

Introdução a Orientação a Objeto

Turma Online 21 - Imersão JavaScript | Semana 3 | 2022 | Professora Jéssica Osko

Instruções

Antes de começar, vamos organizar nosso setup.

  • Fork esse repositório
  • Clone o fork na sua máquina (Para isso basta abrir o seu terminal e digitar git clone url-do-seu-repositorio-forkado)
  • Entre na pasta do seu repositório (Para isso basta abrir o seu terminal e digitar cd nome-do-seu-repositorio-forkado)
  • [Add outras intrucoes caso necessario]

Objetivo

Introduzir o conceito de paradigma de programação, comparando a POO com a programação estruturada. Cobrir classe e objeto e qual é a diferença entre os dois conceitos. Começar a apresentar os pilares da POO.

Resumo

O que veremos na aula de hoje?

Conteúdo

Paradigma de Programação

O que são e para que servem

Paradigma é um método ou modelo de como resolver determinado problema ou realizar uma tarefa. Por exemplo, a fórmula de bhaskara pode ser considerada um paradigma para encontrar as raízes em uma equação de 2º grau. Em programação, paradigma é uma abordagem para resolver problemas usando alguma linguagem de programação, ou ainda, um método para resolver um problema usando ferramentas e técnicas que estão disponíveis para nós seguindo alguma abordagem.

O termo paradigma de programação refere-se a um estilo de programação. Não se refere a uma linguagem de programação específica, mas sim à maneira como você programa.

Existem muitas linguagens de programação que são bem conhecidas, mas todas precisam seguir alguma estratégia quando implementadas. E essa estratégia é um paradigma.

Paradigma de programação imperativo

É um dos paradigmas mas antigos e comuns, a partir dele outro paradigmas muito utilizados hoje foram criados. Possui estreita relação com a arquitetura da máquina. É baseado na arquitetura de Von Neumann. Ele funciona alterando o estado do programa por meio de instruções de atribuição. Ele executa a tarefa passo a passo, alterando o estado. O foco principal é como atingir o objetivo. O paradigma consiste em várias instruções e após a execução de todo o resultado é armazenado.

representação do paradigma de programação imperativo

Vantagens:

  • Muito simples de implementar;

Desvantagens:

  • Problemas complexo não podem ser resolvidos;
  • Menos eficiente e menos produtivo;
  • A programação paralela não é possível.

Linguagens:

  • C;

  • Pascal;

  • BASIC;

  • Fortran;

  • COBOL.

    Paradigma de Programação Estruturado

O paradigma estruturado é uma ramificação do paradigma imperativo, em que as instruções passadas ao computador podem ser formadas por 3 estruturas, sendo: (1) sequência: as instruções são codificadas na sequência a serem executadas; (2) condição: um bloco de código só é executado se uma condição for verdadeira; (3) repetição: um trecho de código pode ser executado repetidas vezes. É baseado no paradigma imperativo.

representação do paradigma de programação estruturado

Vantagens:

  • A estrutura do programa é clara, já que as instruções estão mais conectadas ou relacionadas entre si;
  • Capacidade de modularização criando funções ou subrotinas;
  • Fácil de manter, debugar e testar.

Desvantagem:

  • Tipos de dados são resultado de muitas funções em um programa estruturado. Quando ocorrem alterações nesses tipos de dados, a alteração correspondente deve ser feita em todos os locais que atuam nesses tipos de dados dentro do programa;

  • Não é adequada para o desenvolvimento de grandes programas.

    Paradigma de Programação Orietado a Objetos

A programação orientada a objetos é uma ramificação do paradigma imperativo, que fornece um modelo no qual um programa é uma coleção de objetos que interagem entre si, passando mensagens que transformam seu estado.

representação do paradigma de programação estruturado

Vantagens:

  • Aumento da produtividade de desenvolvimento, objetos podem ser reutilizados e extendidos;
  • Melhorias mais rápidas;
  • Redução de custo de desenvolvimento;
  • Promoção de boas práticas, gerando software de qualidade.

Desvantagens:

  • Programas maiores por conta de diversas classes e objetos;
  • Em geral, os programas possuem execução mais lenta por conta dos requisitos requeridos;
  • Curva de aprendizado aumentada.

Linguagens:

  • C++;
  • Java;
  • C#;
  • Ruby.

Exercícios

Links Úteis

Desenvolvido com 💜

on21-imersao-js-s3-oop-1's People

Contributors

oskojess avatar analuizasampaio avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.