Atributos privados de clase
Daniel Ripollés Climent
ripolles en aditel.org
Mar Feb 25 13:31:12 CET 2003
On Tue, Feb 25, 2003 at 10:14:18AM +0100, Gonzalez Suarez, Daniel wrote:
> - ¿Cómo puedo tener atributos privados?
> - ¿Cómo desde una subclase me refiero a métodos o atributos de la
> superclase?
Es mi primera respuesta a la lista...espero que sea bastante clara.
Mirate este modulito de prueba:
# fichero probandoclases.py
class A:
def __init__(self):
self.lala = "este es publico de A"
self.__otro = "este es privado de A"
def imprime(self):
print self.__otro
def blabla(self):
print "Un saludo desde la clase A"
class B(A):
def __init__(self):
A.__init__(self)
self.otromas = "esto es de la clase B"
def imprime(self):
print self.lala
try:
print self.__otro
except AttributeError:
print "B no puede acceder a __otro"
print self.otromas
## fin del fichero
Ahora abro un shell de python:
Python 2.2.1 (#1, Jul 29 2002, 23:15:49)
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from probandoclases import *
>>> a=A()
>>> a.imprime()
este es privado de A
>>> b=B()
>>> b.imprime()
este es publico de A
B no puede acceder a __otro
esto es de la clase B
>>> b.blabla()
Un saludo desde la clase A
>>>
Espero que sea lo bastante claro como para servir de ayuda
--
Daniel Ripolles ( Eru )
print max([(L.count(j),j,a.append(j)) for j in L if not j in a])[1]
Más información sobre la lista de distribución Python-es