Curso de Python - Sesion 08
Curso de Python - Sesion 08
Curso de Python - Sesion 08
Una clase (entre otras definiciones) es un conjunto de objetos. Un objeto es un ser perteneciente
a una clase.
Un objeto es una encarnación de los requisitos, rasgos y cualidades asignados a una clase
específica.
La programación orientada a objetos supone que cada objeto existente puede estar equipado con
tres grupos de atributos:
Hay una pista (aunque esto no siempre funciona) que te puede ayudar a identificar cualquiera de
las tres esferas anteriores. Cada vez que se describe un objeto y se usa:
La definición comienza con la palabra clave reservada class. La palabra clave reservada es seguida
por un identificador que nombrará la clase
A continuación, se agregan dos puntos:), como clases, como funciones, forman su propio bloque
anidado. El contenido dentro del bloque define todas las propiedades y actividades de la clase.
La palabra clave reservada pass llena la clase con nada. No contiene ningún método ni
propiedades.
Ejemplo:
class ClaseSimple:
pass
miPrimerObjeto=ClaseSimple()
Class Prueba:
def __init__(self):
print("¡Hola!")
objeto = Prueba()
Resultado:
Hola.
Explicación:
def __init__(self):
self.radio=1
circulo=Circulo()
print(circulo.radio)
Este es una clase con un atributo radio con valor=1. Este atributo es publico.
Si queremos que un atributo sea privado se lo declara con un nombre que comienza con dos
guiones bajos (__). Esto significa que solo puede accederse de la clase.
def modificarRadio(self,valor):
self.__radio=valor
def devolverRadio(self):
return self.__radio
def calcularArea(self):
return pi*pow(self.__radio,2)
def calcularLongitud(self):
return pi*pow(self.__radio,2)
objeto=Circulo()
objeto.modificarRadio(5)
print('Circulo')
print('Radio = ',objeto.devolverRadio())
print('El area es: ',objeto.calcularArea())
print('La longitud es: ',objeto.calcularLongitud())
Todas las funciones tienen un parámetro llamado self en la primera posición de la lista de
parámetros.
Todos los métodos deben tener este parámetro. Permite que el método acceda a entidades
(propiedades y actividades / métodos) del objeto. No puedes omitirlo. Cada vez que Python invoca
un método, envía implícitamente el objeto actual como el primer argumento.
Herencia
def modificarRadio(self,valor):
self.__radio=valor
def devolverRadio(self):
return self.__radio
def calcularArea(self):
return pi*pow(self.__radio,2)
def calcularLongitud(self):
return 2*pi*self.__radio
class Cilindro(Circulo):
def __init__(self):
Circulo.__init__(self)
self.__altura=1
def modificarAltura(self,valor):
self.__altura=valor
def devolverAltura(self):
return self.__altura
def calcularArea(self):
return 2*Circulo.calcularArea(self)+Circulo.calcularLongitud(self)*s
elf.__altura
def calcularVolumen(self):
return Circulo.calcularArea(self)*self.__altura
objetoCirculo=Circulo()
objetoCirculo.modificarRadio(5)
print('Circulo')
print('Radio =',objetoCirculo.devolverRadio())
print('El area es: ',objetoCirculo.calcularArea())
print('Cilindro')
objetoCilindro=Cilindro()
objetoCilindro.modificarRadio(4)
objetoCilindro.modificarAltura(10)
print('Radio =',objetoCilindro.devolverRadio())
print('Altura =',objetoCilindro.devolverAltura())
print('Area del Cilindro :',objetoCilindro.calcularArea())
print('Volumen del cilindro:',objetoCilindro.calcularVolumen())
Variables de Clase
Una variable de clase es una propiedad que existe en una sola copia y se almacena fuera de
cualquier objeto.
Nota: no existe una variable de instancia si no hay ningún objeto en la clase; existe una variable de
clase en una copia, incluso si no hay objetos en la clase.
class ClaseEjemplo:
contador = 0
def __init__(self, val = 1):
self.__primera = val
ClaseEjemplo.contador += 1
objetoEjemplo1 = ClaseEjemplo()
objetoEjemplo2 = ClaseEjemplo(2)
objetoEjemplo3 = ClaseEjemplo(4)
print(objetoEjemplo1.__dict__, objetoEjemplo1.contador)
print(objetoEjemplo2.__dict__, objetoEjemplo2.contador)
Observa:
1. Crear la clase TrianguloRectangulo con atributos cateto1, cateto2 y los métodos para
calcular el área, la hipotenusa y el perímetro.
2. Crear la clase ConversionTemperatura que tenga como atributo a temperatura en grados
centígrados y tenga un método para convertir grados centígrados en grados farenheit.
3. Crear la clase Producto con atributos nombre, precioDeCosto y precioDeVenta. Debe tener
un método para calcular la ganancia.
4. Crear la clase Trabajador con atributos nombre, precioHora y horasTrabajadas. Debe tener
los métodos para calcular el salario bruto, calcular el impuesto que son el 10 por ciento del
salario bruto y calcular el salario neto.
5. Crear la clase Movil con atributos velocidadInicial, tiempo y acelearacion. Debe tener un
método que permita calcular el espacio recorrido por un móvil.
6. Crear una clase llamada Rectangulo que contenga como atributos base y altura, crear un
método para calcular el área del Rectángulo . De esta clase derivar una clase denominada
Caja que tenga un atributo adicional denominado profundidad y un método que permita
calcular el volumen.
7. Crear una clase ObjetoGeometrico con atributos x, y que son el centro del objeto
geométrico. Crear dos clases Circulo y Cuadrado que derivan de ObjetoGeometrico y que
permitan calcular sus áreas. Una vez creadas las clases. Escribir un programa que cree un
objeto de cada clase y visualice los centros de cada figura con sus respectivas áreas.