DEV Community

Nahuel Segovia
Nahuel Segovia

Posted on

5 3

POO - Abstracción

Según una definición que encontré en internet, abstraer algo significa: separar por medio de una operación intelectual(pensar)
un rasgo o una cualidad(en nuestro caso métodos y atributos) para
analizarlos aisladamente. En palabras más simples aún, sería enfocarnos en eliminar o ignorar detalles de algo para obtener los puntos más relevantes para su funcionamiento.

¿Pero como nos sirve todo lo de arriba?

Bien, supongamos nuevamente que tenemos un celular moderno, este va a poder:

- Llamar
- Enviar SMS
- Instalar aplicaciones
- Sacar fotos
- Grabar video

Y para realizar todas estas cosas el celular necesita:
- Batería
- Placa wifi 
- Camára de foto y video
- Sistema operativo funcional(Android, iOS)
Enter fullscreen mode Exit fullscreen mode

De esta forma vemos como se puede realizar una abstracción de un celular, así que ahora podemos crear nuestra clase:

class Celular():

    def __init__(self, name, wifi_card, battery, camera):
        self._name = name
        self._battery = battery
        self._wifi_card = wifi_card
        self._camera = camera

    def call(self, number:int): print('Calling'+str(number)+'...')

    def send_sms(self, number:int, msg:str): print('Sending '+msg+' to ' +str(number))

    def install_app(self, app_name:str): print('Installing '+app_name+' app...')

    def take_a_photo(): print('Taking a photo...')

    def record_video(): print('Recording video...')
Enter fullscreen mode Exit fullscreen mode

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up