#!/usr/bin/python
# -*- coding: utf-8 -*-

""" Ejemplo de Clase de Altas, Bajas y Cambios
	:author: ACL
	:version: 0.1
"""


class Producto:
    """Definicion de la clase producto"""

    def __init__(self):
        """Constructor de la clase producto"""
        self.__id = None
        self.__nomb = None
        self.__precio = None
        self.__cant = None

    def inicializa(self, id, nomb, precio, cant):
        """Inicializa la clase producto"""
        self.__id = id
        self.__nomb = nomb
        self.__precio = precio
        self.__cant = cant

    def captura(self):
        """Captura la clase producto"""
        self.__id = input("Identificador: ")
        self.__nomb = input("Nombre: ")
        self.__precio = float(input("Precio: "))
        self.__cant = int(input("Cantidad: "))

    def identificador(self):
        """Retorna el identificador producto"""
        return self.__id

    # Acceso al valor self.__id mediante la variable id
    id = property(identificador)

    def visualizar(self):
        """Visualiza la clase producto"""
        print(self)

    def __repr__(self):
        """Visualiza la clase producto"""
        a = "\nIdentificador: {0}\n".format(self.__id)
        a += "Nombre: {0}\n".format(self.__nomb)
        a += "Precio: {:,.2f}\n".format(self.__precio)
        a += "Cantidad: {0}\n".format(self.__cant)
        return a
