Programação orientada a objetos (OOP), é uma abordagem de programação usada por todos os desenvolvedores em algum momento de sua vida para organizar o design de software em torno de objetos ou dados, em vez de lógica ou funções em que um objeto é uma entidade que possui algumas propriedades e algum tipo. Os benefícios do uso da técnica OOP incluem modularidade, reutilização, segurança, produtividade, flexibilidade e é facilmente escalável e atualizável.
Recursos de OOP
As três principais características do OOP são as seguintes:
i) encapsulamento
O encapsulamento é um conceito de OOP que agrupa dados e métodos que operam nesses dados em uma unidade, por exemplo, uma classe em Java e uma instância de uma classe é chamada de objeto. O encapsulamento também refere -se a restringir o acesso de dados a algumas classes ou objetos e, portanto, todos os usuários não poderão acessar variáveis ou valores de estado de algum objeto.
ii) herança
Na herança, uma classe (criança) herda todos os métodos e atributos de outra classe (pai).
iii) polimorfismo
Polimorfismo significa uma propriedade com muitas formas e é um dos principais conceitos em OOP. O polimorfismo nos permite criar procedimentos sobre objetos cujo tipo exato não é conhecido até o tempo de execução.
Javascript Orientado a objetos?
JavaScript é uma linguagem de programação baseada em protótipos e é usada principalmente para criar aplicativos da Web e páginas da Web. A linguagem de programação do protótipo é um estilo de OOP no qual objetos que já são criados podem ser clonados e reutilizados para que o programa ou aplicação possa ser construído. As funções são usadas como construtores para classes em linguagens de programação baseadas em protótipo.
O JavaScript é excelente na programação de aplicativos OOP e é fortemente baseado em objetos, no entanto, não é uma linguagem OOP baseada em classe, mas uma linguagem de programação baseada em protótipo. No entanto, podemos usar o JavaScript como uma linguagem de programação baseada em classe. JavaScript permite que você faça ou crie novos objetos para o uso do seu aplicativo. No entanto, deve-se notar que, embora a linguagem OOP incentive e se concentre nos relacionamentos e taxonomia, os idiomas baseados em protótipo se concentram e incentivam o comportamento primeiro e depois a classificação posteriormente.
Em 2015, o JavaScript introduziu uma palavra -chave de classe que deveria fazer a linguagem JavaScript OOP, mas era apenas açúcar sintético sobre a técnica de protótipo existente. O corpo externo se parece com OOP, no entanto, em segundo plano a prototipagem continua.
Abaixo está um exemplo de OOP em JavaScript, onde usamos a classe para definir objetos dos alunos e possui a propriedade de nome e grau e estudos de método () que retornam o nome e a nota do aluno.
Classe StudentSe expandirmos o protótipo visto na captura de tela acima, veremos que o proto faz referência ao protótipo do aluno que de fato faz referência ao protótipo de objeto.
Exemplo de encapsulamento JavaScript
Vejamos um exemplo em que a herança é usada e a classe ou objeto de pessoa é definida onde uma pessoa tem um nome e um método também é definido onde o nome é retornado. Outro aluno da turma é definido que estende a pessoa que herdando todas as propriedades e métodos da classe I-E dos pais e na aula de estudante da Classe I-E infantil, utilizamos a palavra-chave que invoca o construtor da classe pai ou pessoa. Você também poderá ver que o objeto de pessoa e o objeto do aluno têm um método com o mesmo nome ToString (). Isso é chamado de substituição e OOP nos permite ter um método em uma classe infantil com o mesmo nome e assinatura que a da classe pai.
// Exemplo de herançaConclusão
OOP é um modelo de programação que organiza nosso design de software em torno de objetos, em vez de lógica ou funções. Um objeto tem alguma propriedade e valor. Ao usar OOP, alcançamos segurança, produtividade, reutilibilidade e muito mais.
JavaScript é uma linguagem de programação baseada em protótipos, no entanto, foi introduzida a palavra -chave de classe de 2015, o que torna o JavaScript como uma linguagem de programação OOP, mas como vimos na descrição acima que no prototipagem de fundo continua continua. Simplificando, JavaScript é uma linguagem de programação orientada a objetos baseada em prototipagem.