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