2.2.1 • Published 6 years ago

pyoo.js v2.2.1

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

pyoo.js

Uma biblioteca JavaScript que oferece orientação a objetos no estilo Python.

Documentação

Instalação

Node

npm install pyoo.js

Para usar ela no browser sem Webpack:

<script src="node_modules/pyoo.js/dist/pyoo.js"></script>

Classes

var CExemplo = Classe({
    __init__: function(self) {
        self.attr1 = 'Olá';
        self.attr2 = 'Mundo';
    },

    metodoExemplo: function(self) {
        return self.attr1 + ', ' + self.attr2 + '!';
    }
});

var objExemplo = CExemplo();
console.log(objExemplo.metodoExemplo());

Herança

As classes suportam múltipla herança e múltiplos níveis de herança.

var Animal = Classe({
    __init__: function(self, nome) {
        self.nome = nome;
    },

    falar: function(self) {
        return 'Olá, meu nome é ' + self.nome + '!';
    }
});


var Reptil = Classe(Animal, {
    __init__: function(self, nome) {
        Animal.__init__(self, nome);
    },

    falar: function(self) {
        var fala_animal = Animal.falar(self);
        return fala_animal + ' Eu sou um réptil!'
    }
});

Exemplo

Python

class Foo:
    def __init__(self, b):
        self.a = b

    def metodo1(self, c):
        return self.a + c

j = Foo(6)

# Escreve 10
print j.metodo1(4)

JavaScript

var Foo = Classe({
    __init__: function(self, b) {
        self.a = b;
    },

    metodo1: function(self, c) {
        self.a = 3
        return(self.a + c);
    }
});

var j = Foo(6)

// Escreve 10
console.log(j.metodo1(4));

Funcionalidades Futuras

  • Variáveis privadas
  • isinstance()
  • issubclass()
  • Decoradores
2.2.1

6 years ago

2.2.0

8 years ago

2.1.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago