Terminología básica de la programación orientada a objetos

9
DANIEL ISAÍ MENDOZA FLORES 4102 TERMINOLOGÍA BÁSICA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Transcript of Terminología básica de la programación orientada a objetos

Page 1: Terminología básica de la programación orientada a objetos

DANIEL ISAÍ MENDOZA FLORES 4102

TERMINOLOGÍA BÁSICA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Page 2: Terminología básica de la programación orientada a objetos

POLIMORFISMOEs la capacidad de un método de comportarse de manera diferente

dependiendo de la clase desde donde haya sido invocado, esto es, dos o más clases pueden reaccionar de manera diferente al mismo mensaje.

Page 3: Terminología básica de la programación orientada a objetos

SOBRECARGASi un mismo método puede tener diferentes formas de ser invocado, se

dice entonces que el método ha sido sobrecargado. Los operadores aritméticos +, -, *, y / pueden ser sobrecargados en C++, así es semánticamente correcto "sumar" dos instancias de la clase std::string, lo que resulta en la concatenación de cadenas.

Page 4: Terminología básica de la programación orientada a objetos

HERENCIA En algunos casos, una clase tendrá "subclases", versiones más especializadas de una

clase. Por ejemplo, la clase Perro puede tener sub-clases llamadas, Collie, Chihuahua y Pastor Alemán. En este caso, Lassie sería una instancia de la sub-clase Collie. Las sub-clases heredan atributos y comportamientos de sus clases padres, y pueden agregar sus propios métodos y atributos. Supóngase que la clase Perro define un método llamado ladrar() y una propiedad llamada colorPelaje. Cada una de sus sub-clases (Collie, Chihuahua, y Pastor Alemán) heredarán estos miembros, lo que significa que el programador sólo necesita escribir el código para ellos una vez. Cada sub-clase puede alterar sus rasgos heredados. Así, por ejemplo, la clase Collie podría especificar que el valor por defecto para el colorPelaje es marrón y blanco. La sub-clase Chihuahua podría especificar que el método ladrar() es agudo por defecto

Page 5: Terminología básica de la programación orientada a objetos

Las sub-clases también pueden añadir nuevos miembros. La clase Chihuahua puede añadir un método llamado temblar(). Así una instancia chihuahua individual podría usar un ladrido agudo de la sub-clase Chihuahua y alternativamente heredar el ladrar() usual desde Perro. El objeto chihuahua tambié podría tener el método temblar(), pero Lassie no, porque ella es un Collie, no un Chihuahua. De hecho, La herencia es una relación "es-un"; Lassie es un Collie. Un Collie es un Perro. Así, Lassie hereda los miembros de ambas clases Perro y Collie. Cuando un objeto o clase hereda sus rasgos desde más de una clase padre, y ninguno de sus ancestros es un ancestro de el otro, entonces se llama herencia múltiple. Por ejemplo, clases independientes podrían definir Perros y Gatos, y un objeto Quimera podría ser creado desde estos dos heredando todos los (múltiples) comportamientos de Perros y gatos.Esto es una función específica del lenguaje de programació usado ya que es muy difícil de utilizar y de programar.

Page 6: Terminología básica de la programación orientada a objetos

CLASE Una clase define las características abstractas de algo (objeto), incluyendo las

características (sus atributos y propiedades) y lo que ese algo puede hacer (sus comportamientos o métodos o funciones). Por ejemplo, una clase Perro consistiría en rasgos comunes a todos los Perros, por ejemplo raza, color del pelaje, etc... las clases proveen modularidad y estructura en un programa orientado a objetos. Una clase debería típicamente ser reconocible por una persona sin conocimientos de programación pero relacionada con el dominio del problema, dado que las características de la clase deberían tener sentido en el contexto. También, el código de una clase debería ser relativamente auto-contenido. Generalmente, las propiedades y métodos de una clase son llamados miembros.

Page 7: Terminología básica de la programación orientada a objetos

OBJETOUna instancia particular de una clase. La clase Perro define a todos los

posibles perros al listar las características que ellos pueden tener; el objeto Lassie es un perro particular, con versiones particulares de las características. Un perro tiene pelaje, Lassie tiene pelaje marrón y blanco. En la jerga de la programación, el objeto Lassie es una instancia de la clase Perro. El conjunto de valores de los atributos para un objeto particular se llama estado.

Page 8: Terminología básica de la programación orientada a objetos

MÉTODOUna capacidad de un método. Lassie, siendo un perro, tiene la

capacidad de ladrar(). Así ladrar() es uno de los métodos de Lassie. Ella puede tener muchos otros métodos también, por ejemplo sentarse() o comer(). Dentro del programa, el uso de un método deberí afectar sólo a un objeto en particular; todos los perros pueden ladrar(), pero se necesita un perro en particular para que ladre.

Page 9: Terminología básica de la programación orientada a objetos

PASO DE MENSAJESEl proceso mediante el cual un objeto envía información a otro objeto o

solicita que este invoque un método.