Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- '''
- La programacion orientada a objetos es un paradigma de programación que
- estructura un programa agrupando comportamientos y propiedades en objetos
- individuales
- Por ejemplo, un objeto podría representar a una persona con propiedades
- como nombre, edad, dni, etc y comportamientos como caminar, hablar, dormir y respirar
- CLASES E INSTANCIAS:
- Las clases se usan para estructurar los datos. Son abstracciones. Las
- instancias son un objeto en particular
- Clase: perro
- Instancia de clase: Rin tin tin
- Los comportamientos y acciones (ladrar, comer, etc) son funciones llamadas
- METODOS
- Las características (color de pelo, edad, altura, raza) se denominan
- ATRIBUTOS. Existen atributos de clase (iguales para todas las instancias)
- y atributos particulares
- class Perro:
- # atributos de clase
- especie = "Canis familiaris"
- # método
- def __init__(self, nombre, edad):
- """Creo los atributos de la instancia"""
- self.nombre = nombre
- self.edad = edad
- # creo dos instancias de la clase perro
- sultan = Perro("Sultan",5)
- firulai = Perro("Firulai",4)
- # imprimo algunos atributos
- print(firulai.edad)
- print(sultan.nombre)
- # los objetos son mutables
- firulai.edad = 11
- print(firulai.edad)
- # puedo modificar el atributo de clase
- sultan.especie = "Marca Perro"
- print(firulai.especie) # imprime Canis Familiaris
- # Reescribamos la clase pero con métodos de instancia
- class Perro:
- # atributos de clase
- especie = "Canis familiaris"
- # método
- def __init__(self, nombre, edad):
- """Creo los atributos de la instancia"""
- self.nombre = nombre
- self.edad = edad
- def descripcion(self):
- return f"{self.nombre} tiene {self.edad} años de edad"
- def ladra(self, sonido):
- return f"{self.nombre} dijo {sonido}"
- tronco = Perro("Tronco", 5)
- print(tronco.descripcion())
- print(tronco.ladra("guau guau"))
- # mejoremos con dunder methods (métodos mágicos)
- class Perro:
- # atributos de clase
- especie = "Canis familiaris"
- # método
- def __init__(self, nombre, edad):
- """Creo los atributos de la instancia"""
- self.nombre = nombre
- self.edad = edad
- def __str__(self):
- return f"{self.nombre} tiene {self.edad} años de edad"
- def ladra(self, sonido):
- return f"{self.nombre} dijo {sonido}"
- tronco = Perro("Tronco", 5)
- print(tronco)
- print(tronco.ladra("guau guau"))
- '''
- # Crear una clase Auto con dos atributos: color y kilometraje. Crear luego
- # dos instancias de clase, auto_rojo y auto_azul e imprimir sus atributos
- # RECUERDEN usar __str__ para imprimir sus atributos
- class Auto:
- def __init__(self, color, kilometraje):
- self.color = color
- self.kilometraje = kilometraje
- def __str__(self):
- return f"El auto es {self.color} y tienen {self.kilometraje} kmts"
- auto_rojo = Auto("rojo", 5000)
- auto_azul = Auto("azul", 1000)
- print(auto_rojo)
- print(auto_azul)
- # print(auto_rojo.color)
- print(auto_rojo)
- print(auto_azul)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement