Javascript é linguagem Oop ou não

Linguagens de programação orientadas a objetos ‚Äã‚Äãuse objetos que contêm dados e código. Os princípios da programação orientada a objetos são encapsulamento, abstração, polimorfismo e herança.

Linguagens de Programação Orientada a Objetos (OOP) ‚Äã‚Äãestão em todos os lugares que olhamos. A maioria das linguagens de programação mais amplamente utilizadas que compõem o mundo da computação de hoje são orientadas a objetos. Na verdade, muitos programas de computador e grande parte do conteúdo da Web são baseados em linguagens orientadas a objetos . Entender como as linguagens orientadas a objetos ‚Äã‚Äã funcionam e por que elas são úteis é importante para quase qualquer carreira em TI.

Neste artigo, veremos quais linguagens orientadas a objetos ‚Äã‚ Äãare e examine seus prós e contras. Também veremos uma lista de algumas das linguagens OOP mais populares que ‚Äã‚Äã usa hoje.

O que é uma linguagem de programação?

Uma linguagem de programação é um conjunto e as regras e procedimentos que permitem aos programadores dar aos computadores um conjunto de instruções para executar. Cada linguagem de programação tem sua própria sintaxe, que, uma vez aprendida, ajuda o computador a saber quais tarefas ele precisa executar.

Pense dessa forma. O inglês é um idioma que permite que você se comunique com falantes de inglês. Quando você conhece as regras básicas do inglês, pode conversar com qualquer pessoa que as entenda. Mas os computadores não podem entender inglês ou qualquer outro idioma "tradicional".

O que são programação orientada a objetos de linguagem?

Os computadores são máquinas poderosas. Com um computador, podemos calcular números com extrema rapidez e produzir programas incríveis para muitas aplicações. No entanto, para aproveitar esse poder que temos que comunicar com o computador é algo menos doloroso do que digitar manualmente uns e zeros.

Portanto, temos linguagens de programação, que são suportadas por código de máquina que já foi escrito. No entanto, quanto mais nos afastamos do código de máquina, mais linguagens abstratas e especializadas se tornam no gerenciamento de dados. É por isso que temos tantos idiomas; nenhuma linguagem é perfeita e todas elas têm aplicações diferentes e sobrepostas.

paradigmas de programação

A esse respeito, as linguagens de programação ‚Äã‚Äã são frequentemente separadas de seu paradigma de programação. Um paradigma de programação é uma maneira de olhar e acessar dados. Os dois paradigmas principais são orientados a objetos e Funcional , embora existam muitos mais (incluindo alguns que são os princípios por trás do acima).

A programação orientada a objetos é construída em torno de objetos, que são estruturas de dados que ao mesmo tempo contêm dados (propriedades ou atributos) e código (procedimentos ou métodos). Os objetos podem mudar com `this` ou `self`. Na maioria das linguagens OOP, quase tudo é um objeto que pode ter valores ‚Äã‚Äã e código executável. Cada objeto é único e, embora possa ser uma cópia de outro objeto, suas variáveis podem ser diferentes das variáveis de qualquer outro objeto.

Objetos no design de software orientado a objetos podem ser vistos como objetos reais. Pense em um objeto , como um relógio. Esse relógio tem propriedades. É metal, é preto, tem densidade. Mas esse objeto também faz coisas. Ele mostra a hora e pode até influenciar a si mesmo girando engrenagens para mudar a posição de seus ponteiros.

Outra característica dos objetos é que nem sempre precisamos saber como o relógio funciona para fazê-lo funcionar. Supondo que o relógio seja bem construído, ele informará as horas de forma confiável, sem que tenhamos que interferir seu funcionamento interno.

Linguagens orientadas a objetos ‚Äã‚Äãtêm objetos semelhantes aos objetos do mundo real. Eles podem ter propriedades e funções. Eles também tendem a seguir um certo conjunto de princípios.

Princípios de programação orientada a objetos

Linguagens orientadas a objetos ‚Äã‚Äãtêm quatro princípios. Esses quatro princípios são propriedades comuns que os definem e os tornam significativamente mais eficazes. Alguns os chamam de Quatro Pilares da Programação Orientada a Objetos.

Os quatro pilares da programação orientada a objetos são:

  1. Encapsulamento
  2. Abstração
  3. >
  4. Herança
  5. Polimorfismo

Os Quatro Princípios

Vamos explorar esses quatro princípios com mais profundidade.

Java, Python, C++, Lisp e Perl são exemplos de linguagens de programação orientadas a objetos populares. Eles suportam programação usando o paradigma de classe e objeto.

Cinco das linguagens orientadas a objetos mais populares ‚Äã‚Äãincluem:

  1. Java
  2. Python
  3. C ++
  4. Ruby
  5. C #

Existem outros aplicações orientadas. idiomas ‚Äã‚Äãque não abordamos acima. Perl, Objective-C, Dart, Lisp, JavaScript e PHP são todos orientados a objetos ou de suporte também. princípios orientados a objetos.

Vantagens e desvantagens de linguagens de programação orientadas a objetos ‚Äã‚Äã

Embora as linguagens OOP ‚Äã‚Äã possam ser poderosas, elas são não é útil para todas as situações e vem com uma bagagem que deve ser levada em consideração.

Pro

Reutilização

Código orientado a objetos é extremamente modular em design. Devido ao polimorfismo e à abstração, você pode criar uma função que pode ser usada repetidamente. Você também pode copiar informações e recursos que já foram escritos com herança. Isso economiza tempo, reduz a complexidade, economiza espaço e simplifica as operações de codificação.

Desenvolvimento paralelo

Há base suficiente para que partes do programa sejam desenvolvidas separadamente um do outro e continuar a operar de acordo com os princípios orientados objeto. Isso torna o desenvolvimento simultâneo muito mais fácil para grandes equipes de desenvolvimento.

Manutenção

Já que a maioria, se não todo, do nosso código está em um place, chamado e reutilizado, este código é muito mais fácil de manter. Em vez de ter que corrigir individualmente cem instâncias diferentes onde uma função é chamada, podemos corrigir apenas a função modular e polimórfica.

Segurança

Enquanto a maioria das linguagens ‚Äã‚Äãtem alguma segurança, linguagens orientadas a objetos ‚Äã‚Äãsão convenientes porque a segurança é incorporada ao encapsulamento. Outros métodos e classes não podem acessar dados privados por padrão, e programas escritos em linguagens OOP ‚Äã‚Äãsão mais seguros para isso.

Modularidade

Linguagens de programação orientadas a objetos ‚Äã‚Äãdividem uma aplicação em objetos e classes . Isso é vantajoso porque dá ao seu aplicativo cação uma estrutura mais modular. O código modular é mais fácil de ler. Portanto, é mais fácil de manter.

Desvantagens

Muitas vezes confuso

Porque orientado a objetos linguagens ‚Äã‚Äãsão tão personalizáveis e escaláveis que `Pode ser fácil perder sua compreensão de como o código funciona. O código OOP pode funcionar de várias maneiras. Existem muitas metodologias de programação OOP que não funcionam bem com outras metodologias, são ineficientes ou difíceis de usar.

Requer mais planejamento

Como essas linguagens ‚Äã‚Äãsão tão modulares e escaláveis que entrar sem um plano claro com antecedência é uma receita para um desastre. Criar um programa eficaz requer um plano sólido, mais do que com outros paradigmas de programação.

Opacidade

Isso é tanto uma vantagem quanto uma desvantagem. Objetos e funções podem operar independentemente. Eles podem receber informações e (geralmente) retornar resultados confiáveis. Como resultado, eles podem acabar sendo caixas pretas, o que significa que o que eles estão fazendo nem sempre é óbvio. Embora o programador provavelmente tenha criado este objeto e saiba o que está fazendo, as linguagens OOP ‚Äã‚Äãnão são transparentes como outras linguagens.

Desempenho

Objetos orientados à linguagem geralmente sofrem um duro golpe. Programas construídos em linguagens OOP ‚Äã‚Äã são geralmente maiores e requerem mais esforço computacional para serem executados do que linguagens funcionais. No entanto, isso nem sempre é verdade ou importante. C++ é uma linguagem OOP, mas é uma das linguagens mais rápidas ‚Äã‚Äãdisponíveis. Da mesma forma, a velocidade nem sempre é importante. A diferença de velocidade só se torna perceptível ao processar cálculos enormes ou complexos ou nos casos em que é necessária uma velocidade extrema.

Agora você tem uma sólida compreensão do que é uma linguagem orientada a objetos, para que ela é usada, e quais são os mais populares.A programação nessas linguagens ‚Äã‚Äãpode ser tão divertida quanto lucrativa, e sua carreira de desenvolvimento está a poucos passos.