Capítulo 17. Herencia

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

La característica del lenguaje más a menudo asociada a la programación orientada a objetos es la herencia. La herencia es la capacidad de definir una nueva clase que sea una versión modificada de una clase existente. En este capítulo demuestro la herencia utilizando clases que representan naipes, barajas y manos de póquer. Si no juegas al póquer, no te preocupes: te diré lo que necesitas saber.

Representación de cartas

En una baraja estándar hay 52 cartas, cada una de las cuales pertenece a uno de los cuatro palos y a uno de los trece rangos. Los palos son Picas, Corazones, Diamantes y Tréboles. Los rangos son As, 2, 3, 4, 5, 6, 7, 8, 9, 10, Jota, Reina y Rey. Según el juego al que juegues, un As puede ser superior a Rey o inferior a 2.

Si queremos definir un nuevo objeto que represente una carta de juego, es obvio cuáles deben ser los atributos: rank y suit. Es menos obvio de qué tipo deben ser los atributos. Una posibilidad es utilizar cadenas como 'Spade' para los palos y 'Queen' para los rangos. Un problema de esta implementación es que no sería fácil comparar las cartas para ver cuál tiene un palo o rango superior.

Una alternativa es utilizar números enteros para codificar las filas y los palos. En este contexto, "codificar" significa que vamos a definir una correspondencia entre números y palos, o entre números y filas. Este tipo de ...

Get Piensa en Python, 3ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.