Advertisement
teslariu

oop parte 1

Sep 7th, 2022
876
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.22 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. '''
  4. La programacion orientada a objetos es un paradigma de programación que
  5. estructura un programa agrupando comportamientos y propiedades en objetos
  6. individuales
  7.  
  8. Por ejemplo, un objeto podría representar a una persona con propiedades
  9. como nombre, edad, dni, etc y comportamientos como caminar, hablar, dormir y respirar
  10.  
  11. CLASES E INSTANCIAS:
  12. Las clases se usan para estructurar los datos. Son abstracciones. Las
  13. instancias son un objeto en particular
  14. Clase: perro
  15. Instancia de clase: Rin tin tin
  16. Los comportamientos y acciones (ladrar, comer, etc) son funciones llamadas
  17. METODOS
  18. Las características (color de pelo, edad, altura, raza) se denominan
  19. ATRIBUTOS. Existen atributos de clase (iguales para todas las instancias)
  20. y atributos particulares
  21.  
  22.  
  23.  
  24. class Perro:
  25.    # atributos de clase
  26.    especie = "Canis familiaris"
  27.    
  28.    # método
  29.    def __init__(self, nombre, edad):
  30.        """Creo los atributos de la instancia"""
  31.        self.nombre = nombre  
  32.        self.edad = edad
  33.        
  34.  
  35. # creo dos instancias de la clase perro
  36. sultan = Perro("Sultan",5)
  37. firulai = Perro("Firulai",4)
  38.  
  39. # imprimo algunos atributos
  40. print(firulai.edad)
  41. print(sultan.nombre)
  42.  
  43. # los objetos son mutables
  44. firulai.edad = 11
  45. print(firulai.edad)
  46.  
  47. # puedo modificar el atributo de clase
  48. sultan.especie = "Marca Perro"
  49. print(firulai.especie)  # imprime Canis Familiaris
  50.  
  51.  
  52. # Reescribamos la clase pero con métodos de instancia
  53. class Perro:
  54.    # atributos de clase
  55.    especie = "Canis familiaris"
  56.    
  57.    # método
  58.    def __init__(self, nombre, edad):
  59.        """Creo los atributos de la instancia"""
  60.        self.nombre = nombre  
  61.        self.edad = edad
  62.        
  63.    def descripcion(self):
  64.        return f"{self.nombre} tiene {self.edad} años de edad"
  65.        
  66.    def ladra(self, sonido):
  67.        return f"{self.nombre} dijo {sonido}"
  68.        
  69. tronco = Perro("Tronco", 5)
  70.  
  71. print(tronco.descripcion())
  72. print(tronco.ladra("guau guau"))
  73.  
  74. # mejoremos con dunder methods (métodos mágicos)
  75.  
  76. class Perro:
  77.    # atributos de clase
  78.    especie = "Canis familiaris"
  79.    
  80.    # método
  81.    def __init__(self, nombre, edad):
  82.        """Creo los atributos de la instancia"""
  83.        self.nombre = nombre  
  84.        self.edad = edad
  85.        
  86.    def __str__(self):
  87.        return f"{self.nombre} tiene {self.edad} años de edad"
  88.        
  89.    def ladra(self, sonido):
  90.        return f"{self.nombre} dijo {sonido}"
  91.        
  92.    
  93.        
  94. tronco = Perro("Tronco", 5)
  95.  
  96. print(tronco)
  97. print(tronco.ladra("guau guau"))
  98. '''
  99.  
  100. # Crear una clase Auto con dos atributos: color y kilometraje. Crear luego
  101. # dos instancias de clase, auto_rojo y auto_azul e imprimir  sus atributos
  102. # RECUERDEN usar __str__ para imprimir sus atributos
  103.  
  104. class Auto:
  105.     def __init__(self, color, kilometraje):
  106.         self.color = color
  107.         self.kilometraje = kilometraje
  108.        
  109.     def __str__(self):
  110.         return f"El auto es {self.color} y tienen {self.kilometraje} kmts"     
  111.        
  112.        
  113.        
  114. auto_rojo = Auto("rojo", 5000)
  115. auto_azul = Auto("azul", 1000)
  116.  
  117. print(auto_rojo)
  118. print(auto_azul)
  119.  
  120.    
  121.    
  122. # print(auto_rojo.color)
  123. print(auto_rojo)
  124. print(auto_azul)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement