Menu
Coddy logo textTech

Clases vs Objetos

Parte de la sección Object Oriented Programming del Journey de Python de Coddy — lección 3 de 64.

Las clases y los objetos sirven para propósitos diferentes. Una clase es un plano, mientras que un objeto es lo que construyes a partir de ese plano.

Aquí hay un ejemplo de una clase:

class Dog:
	# compartido por todos los perros
    species = "Canis familiaris"

Ahora podemos acceder al atributo de clase directamente usando Dog.species donde Dog es el nombre de la clase:

print(f"Class species: {Dog.species}")
# Especie de la clase: Canis familiaris

Esto accede a los datos de la propia clase, no de ningún objeto específico.

Ahora exploremos cómo funciona en los objetos. Crea objetos a partir de la clase Dog:

dog1 = Dog()
dog2 = Dog()

Los objetos pueden tener atributos individuales que las clases no pueden:

dog1.name = "Nicky"
dog1.breed = "Siberian Husky"

dog2.name = "Teemon" 
dog2.breed = "Shu'ali"

Compara lo que las clases y los objetos pueden hacer:

print(f"Object 1: {dog1.name} is a {dog1.breed}")
print(f"Object 2: {dog2.name} is a {dog2.breed}")
print(f"Both share class attribute: {Dog.species}")

Salida:

Object 1: Nicky is a Siberian Husky
Object 2: Teemon is a Shu'ali
Both share class attribute: Canis familiaris

Diferencia clave: La clase Dog define lo que todos los perros tienen en común, mientras que los objetos dog1 y dog2 representan perros específicos e individuales con propiedades únicas.

challenge icon

Desafío

Fácil

Completa el código para crear una clase Student y dos objetos de estudiante. Agrega diferentes nombres y calificaciones a cada estudiante.

  • student.py: Aquí es donde definirás tu clase Student.
  • driver.py: Archivo de ejecución principal que importará y utilizará tu clase Student:

    Completa el código para crear una clase Student y dos objetos de estudiante. Agrega diferentes nombres y calificaciones a cada estudiante.

    El nombre de student1 es "Alice" con la calificación "A".

    El nombre de student2 es "Bob" con la calificación "B".

Pruébalo tú mismo

# Importar la clase Student
from student import Student

# TODO: Crear dos objetos de estudiante


# TODO: Añadir atributos a student1


# TODO: Añadir atributos a student2


# Imprimir la información del estudiante
print(f"{student1.name} has grade {student1.grade} at {Student.school}")
print(f"{student2.name} has grade {student2.grade} at {Student.school}")
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Object Oriented Programming