Mind map
JAVASCRIPT 6 com paradigma OOP
Map content
JAVASCRIPT 6 com paradigma OOP
LET ganha escopo de bloco, ou seja ela vai existir apenas dentro do bloco onde foi declarada
CLASS
- Uma class possui um construtor onde é definido os atributos(propriedades)
- Passando parametros garantindo que no momento em que instancia a classe já tenha todo o dado que ela precisa para operar: constructor(data, quantidade, valor) { }
- Por convenção os atributos que devem ser privados, usam o prefixo _, para indicar que não deve ser alterado, apenas atraves do metodo da class
- Adicionar metodos a class, e por convensão esses metodos podem acessar esses atributos
- criar atributos que na verdade são metodos que quando eu acesso ele executa determinado código, basta colocar na frente desse metodo a palavra reservada GET. Estaria criando um getter, foi assim que substituimos o getVolume, getData, por . data, .volume
- Isso não é suficiente pra garantir a integridade. Usamos o object.Freeze, para congelar o objeto depois de criado. Só que esse objeto FREEZE é raso, ou seja ele aplica nas propriedades do objeto, porem se a propriedade do objeto for um objeto, ele não percorre esse objeto, acaba nao congelando suas propriedades desse objeto, ela fica apenas na superficie
- Para resolver esse problema, fazemos programação defensiva, quando alguem quisesse acessar a nossa data, nós retornamos uma nova data, e fizemos a mesma coisa no construtor, para evitar que alguem consiga de fora da nossa class, alterar seu estado interno NEW DATE(THIS._DATA.GETtIME());
- this._data = new Date(data.getTime());
- Isso não é suficiente pra garantir a integridade. Usamos o object.Freeze, para congelar o objeto depois de criado. Só que esse objeto FREEZE é raso, ou seja ele aplica nas propriedades do objeto, porem se a propriedade do objeto for um objeto, ele não percorre esse objeto, acaba nao congelando suas propriedades desse objeto, ela fica apenas na superficie
- criar atributos que na verdade são metodos que quando eu acesso ele executa determinado código, basta colocar na frente desse metodo a palavra reservada GET. Estaria criando um getter, foi assim que substituimos o getVolume, getData, por . data, .volume
- Uma class possui um construtor onde é definido os atributos(propriedades)
Information
- Description
- Mind Map on JAVASCRIPT 6 com paradigma OOP, created by Silvana Vieira on 23/01/2018.
- Created by
- Silvana Vieira · Jan 2018
- Updated
- Feb 9, 2018
- Views
- 1
- Rating