Programación orientada a objetos OOP es una forma de organizar el código alrededor de objetos. Un objeto es una entidad que tiene propiedades datos y comportamientos funciones. Una analogía real: un coche tiene propiedades color velocidad marca y comportamientos arrancar frenar acelerar. En OOP se define una clase Car y se crean muchos coches objetos o instancias a partir de esa plantilla.
Clase y objeto Una clase es el plano o receta que define cómo se construye algo. Un objeto es la instancia creada a partir de la clase. Ejemplo conceptual: class Car: pass my_car = Car() aqui my_car es un objeto creado desde la clase Car.
Atributos Los atributos almacenan datos sobre el objeto. Ejemplo conceptual en Python: class Car: def __init__(self, brand, color): self.brand = brand self.color = color my_car = Car(Tesla, Red) print(my_car.brand) print(my_car.color) En la vida real el constructor __init__ equivale a configurar marca y color cuando ensamblas un coche en fábrica.
Métodos Los métodos son funciones definidas dentro de una clase que describen comportamientos del objeto. Ejemplo conceptual: class Car: def __init__(self, brand): self.brand = brand def start(self): print(self.brand, is starting...) tesla = Car(Tesla) tesla.start()
La palabra self self se refiere al objeto actual dentro de los métodos. Es equivalente a decir mi propio color mi propia marca mi propia velocidad.
Encapsulación Consiste en ocultar datos para protegerlos. Ejemplo conceptual: class BankAccount: def __init__(self, balance): self.__balance = balance # privado def get_balance(self): return self.__balance Desde fuera no se accede directamente a __balance con lo que se evita un uso indebido de los datos internos.
Herencia Una clase hijo hereda características de una clase padre. Por ejemplo Animal como clase base Dog y Cat heredan de Animal y pueden redefinir métodos. Ejemplo conceptual: class Animal: def speak(self): print(Animal makes a sound) class Dog(Animal): def speak(self): print(Dog barks) d = Dog() d.speak() en la vida real un hijo hereda rasgos de los padres como altura o color de cabello.
Polimorfismo Permite que el mismo nombre de método tenga comportamientos distintos según la clase. Ejemplo conceptual: class Bird: def fly(self): print(Bird is flying) class Airplane: def fly(self): print(Airplane is flying) for obj in [Bird(), Airplane()]: obj.fly() En la vida real la acción conducir tiene sentido distinto para coche bicicleta o camión.
Abstracción Mostrar solo lo relevante y ocultar la complejidad. Al conducir un coche no necesitas ver el motor solo el volante y los pedales. En código se usan clases abstractas para forzar interfaces limpias. Ejemplo conceptual: from abc import ABC, abstractmethod class Payment(ABC): @abstractmethod def pay(self): pass
Ejemplo práctico completo sistema ATM class BankAccount: def __init__(self, owner, balance): self.owner = owner self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if amount <= self.__balance: self.__balance -= amount return Withdraw successful return Insufficient funds def get_balance(self): return self.__balance ali_acc = BankAccount(Ali, 5000) sara_acc = BankAccount(Sara, 7000) print(ali_acc.withdraw(2000)) print(sara_acc.deposit(1000)) print(ali_acc.get_balance()) Este ejemplo ilustra atributos variables privadas métodos constructor y encapsulación.
Ejercicios cortos 1 Crear una clase Student con atributos name age marks y método is_pass que devuelve True si marks > 40. 2 Crear una clase Car con atributos brand speed y métodos accelerate y brake. 3 Crear dos clases Animal padre y Dog hijo y sobreescribir el método speak. Envíame tu código y lo reviso.
En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida con especialidad en inteligencia artificial ciberseguridad y servicios cloud aws y azure. Diseñamos soluciones de software a medida y aplicaciones a medida integrando modelos de ia para empresas y agentes IA que optimizan procesos. También ofrecemos servicios de inteligencia artificial y consultoría en servicios inteligencia de negocio power bi para extraer valor de los datos.
Nuestros servicios incluyen desarrollo de software a medida integración cloud en plataformas aws y azure seguridad y pentesting ciberseguridad automatización de procesos soluciones IA para empresas agentes IA y análisis con power bi. Si buscas una solución personalizada para tu proyecto contacta con Q2BSTUDIO y llevaremos tu idea a producción con calidad y seguridad.