CODIGO AZUL
This commit is contained in:
commit
10a916b119
10
index.js
Normal file
10
index.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import PessoaFisica from "./pessoa_fisica.js";
|
||||||
|
import PessoaJuridica from "./pessoa_juridica.js";
|
||||||
|
|
||||||
|
const pessoa_fisica = new PessoaFisica("Picolo Fisico");
|
||||||
|
pessoa_fisica.cpf = "000000000";
|
||||||
|
console.log(pessoa_fisica.mostrarDados())
|
||||||
|
|
||||||
|
const pessoa_juridica = new PessoaJuridica("Picolo Jurídico");
|
||||||
|
pessoa_juridica.cnpj = "111111111";
|
||||||
|
console.log(pessoa_juridica.mostrarDados())
|
13
package.json
Normal file
13
package.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"name": "poo",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "Luiz Picolo <luizpicolo@gmail.com>",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
30
pessoa.js
Normal file
30
pessoa.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
class Pessoa {
|
||||||
|
#_nome;
|
||||||
|
#_sobrenome;
|
||||||
|
|
||||||
|
constructor(nome){
|
||||||
|
if (this.constructor === Pessoa){
|
||||||
|
throw new Error("Classe abstrata não pode ser instanciada diretamente.");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.#_nome = nome
|
||||||
|
}
|
||||||
|
|
||||||
|
set sobrenome(sobrenome){
|
||||||
|
this.#_sobrenome = sobrenome
|
||||||
|
}
|
||||||
|
|
||||||
|
get sobrenome(){
|
||||||
|
return this.#_sobrenome
|
||||||
|
}
|
||||||
|
|
||||||
|
get nome(){
|
||||||
|
return this.#_nome
|
||||||
|
}
|
||||||
|
|
||||||
|
mostrarDados(){
|
||||||
|
throw new Error("Esse método deve ser implementado");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Pessoa;
|
23
pessoa_fisica.js
Normal file
23
pessoa_fisica.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import Pessoa from './pessoa.js'
|
||||||
|
|
||||||
|
class PessoaFisica extends Pessoa {
|
||||||
|
#_cpf
|
||||||
|
|
||||||
|
constructor(nome) {
|
||||||
|
super(nome)
|
||||||
|
}
|
||||||
|
|
||||||
|
set cpf(cpf) {
|
||||||
|
this.#_cpf = cpf
|
||||||
|
}
|
||||||
|
|
||||||
|
get cpf() {
|
||||||
|
return this.#_cpf
|
||||||
|
}
|
||||||
|
|
||||||
|
mostrarDados(){
|
||||||
|
return `Meus dados são: ${this.nome} e ${this.cpf}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PessoaFisica
|
23
pessoa_juridica.js
Normal file
23
pessoa_juridica.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import Pessoa from './pessoa.js'
|
||||||
|
|
||||||
|
class PessoaJuridica extends Pessoa {
|
||||||
|
#_cnpj
|
||||||
|
|
||||||
|
constructor(nome) {
|
||||||
|
super(nome)
|
||||||
|
}
|
||||||
|
|
||||||
|
set cnpj(cnpj) {
|
||||||
|
this.#_cnpj = cnpj
|
||||||
|
}
|
||||||
|
|
||||||
|
get cnpj() {
|
||||||
|
return this.#_cnpj
|
||||||
|
}
|
||||||
|
|
||||||
|
mostrarDados(){
|
||||||
|
return `Meus dados são: ${this.nome} e ${this.cnpj}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PessoaJuridica
|
Loading…
Reference in New Issue
Block a user