Tecnologia Orientada a Objetos ECMAScript
- Página anterior Encerramento (closure)
- Próxima página Aplicação de objetos
Termos orientados a objetos
Objeto
A ECMA-262 define objeto (object) como "conjunto desordenado de atributos, onde cada atributo armazena um valor primitivo, objeto ou função". Em termos rigorosos, isso significa que os objetos são arrays de valores sem ordem específica.
Embora o ECMAScript defina objetos assim, sua definição mais genérica é a representação de substantivos (pessoas, lugares ou coisas) baseada em código.
Classe
Cada objeto é definido por uma classe, e podemos ver a classe como uma receita de objeto. A classe não só define a interface do objeto (propriedades e métodos acessíveis pelos desenvolvedores), mas também define o trabalho interno do objeto (o código que faz com que as propriedades e métodos funcionem). Os compiladores e interpretadores constroem objetos com base nas descrições da classe.
Instância
Quando um programa cria um objeto usando uma classe, o objeto gerado é chamado de instância da classe (instância). A única limitação única do número de objetos gerados pela classe é a memória física da máquina que executa o código. Cada instância tem o comportamento mesmo, mas cada instância lida com um conjunto de dados independentes. O processo de criação de instância de objeto por classe é chamado de instanciamento (instanciação).
No capítulo anterior, mencionamos que o ECMAScript não tem classes formais. Em vez disso, a ECMA-262 descreve a definição de objeto como uma receita de objeto. Esta é uma solução intermediária lógica do ECMAScript, porque a definição de objeto é realmente o objeto próprio. Mesmo que as classes não existam realmente, também chamamos a definição de objeto de classe, porque a maioria dos desenvolvedores está mais familiarizada com esse termo e, funcionalmente, são equivalentes.
Requisitos de linguagem orientada a objetos
Um linguagem orientada a objetos precisa fornecer quatro capacidades básicas para os desenvolvedores:
- Encapsulamento - A capacidade de armazenar informações relacionadas (seja dados ou métodos) dentro do objeto
- Agregação - A capacidade de armazenar um objeto dentro de outro objeto
- Herança - A capacidade de obter atributos e métodos de outra classe (ou várias classes)
- Polimorfismo - A capacidade de escrever funções ou métodos que podem ser executados de várias maneiras
O ECMAScript suporta esses requisitos, portanto pode ser visto como orientado a objetos.
Composição do objeto
Nos ECMAScript, os objetos são compostos por atributos (atributo), que podem ser valores primitivos ou valores de referência. Se o atributo contiver uma função, ela será vista como um método do objeto, caso contrário, o atributo será visto como uma propriedade do objeto.
- Página anterior Encerramento (closure)
- Próxima página Aplicação de objetos