Git Product home page Git Product logo

desafio01-ts's Introduction

Desenvolvendo o Dio Bank

desenvolvido por Nathally Souza

Projeto desenvolvido com conceitos básicos de typescript

Tecnologias

  • Typescript

Como rodar o projeto

1 - Clone o repositório

2 - Instale as dependeências

npm install

3 - Execute o projeto

npm run dev

Desafios

[ ] Implementar os métodos de depósito (deposit) e saque (withdraw) na classe DioAccount

  • Os valores dos saldos devem ser alterados, de acordo com o valor informado para depósito
  • Apenas contas com o status true e saldo (balance) maior que o valor solicitado podem fazer saques

[ ] Implementar o método de empréstimo (getLoan) na classe CompanyAccount

  • Os valores do saldos deve ser acrescidos, de acordo com o valor informado para empréstimo
  • Apenas contas com o status true podem fazer empréstimo

[ ] Criar um novo tipo de conta a partir da DioAccount

  • Esta conta não deve receber novos atributos
  • Esta conta terá um método de depósito, que acresce 10 a mais ao valor informado para depósito. (Ex: Um depósito de 100, será de 110 no final)

[ ] Todos os atributos de qualquer conta devem ser privados

[ ] Os atributos name e accountNumber não podem ser alterados internamente ou externamente

[ ] Criar instancias para cada um dos tipos de conta no app.ts e executar os métodos possíveis.

desafio01-ts's People

Contributors

nathsouzadev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

desafio01-ts's Issues

Arrow Functions não são herdadas

Arrow Functions não são herdadas

Existem vários métodos inicializado com uma arrow function, a inicialização é feita pelo construtor:

export abstract class DioAccount {
  ...
  getBalance = (): void => {
    console.log(this.balance)
  }
}

O campo não termina na cadeia de protótipos, portanto não é herdado e você não pode chamá-lo por meio de super.

export class CompanyAccount extends DioAccount {
 ...
  super.getBalance()

>> [ERROR] 20:14:18 TypeError: (intermediate value).getBalance is not a function

Sugiro escrever métodos normais:

  getBalance (): void {
    console.log(this.balance)
  }

Assim é possivel usá-los nos exercícios:

export class CompanyAccount extends DioAccount {
 ...
  super.getBalance()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.