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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user