Programación orientada a objetos

Definición

Paradigma de programación que permite diseñar programas definiendo abstracciones que modelan datos y que representa un problema a resolver

Intenta disimular el mundo real a través de objetos que contiene características y funciones

Características

Abstraccion

Encapsulacion

A esa clase
del objeto la podemos definir como aquello que se desea abstraer

Herencia

Polimorfismo

capacidad de una clase para definirse en términos de otra
clase y “heredar” atributos y métodos de la clase de orden superior.

“Muchas formas”.

Conceptos básicos

Clases

Objetos

Métodos

Atributos

Mensajes

Ventajas

La reutilización de código es una de las grandes ventajas de la
programación orientada a objetos.

Representan un tipo particular de objetos

Un objeto es una instancia de una determinada clase.

Una clase representa una abstracción de datos, y los métodos definen su
comportamiento.

También se les denomina “variables de instancia”, o “variables del objeto”.

Los objetos se comunican e interaccionen entre sí por medio de mensajes.

image

Cada clase tiene asociado código que determina:

Lo atributos que tienen los objetos de la clase.

Los métodos que pueden ejecutar los objetos de la clase y como lo hacen.

Clases

image

De cada clase pueden crearse múltiples objetos

Cada objeto tiene valores propios asignados a los atributos

Las características del objeto (Estado y comportamiento) Están determinadas por la clase a la que pertenece.

Muchos objetos distintos pueden ser de la misma clase y también de distintas clases.

Cada objeto almacena y contiene su propio estado interno (Atributos), de forma independiente de los otro objetos

El objeto podrá ser manipulado e interactuar con otros objetos a través de métodos definidos por la clase a la que pertenece.

También se les denomina “métodos de instancia”, o “métodos del objeto”.

Los métodos son algoritmos especiales definidos por la clase, y se aplican
sobre los objetos.

¡Manipulan el estado interno del objeto sobre el que se aplican!

Almacenan los valores del estado interno del objeto.

Cada objeto tiene su propio estado interno asociado, independiente de los
otros objetos.

Los atributos deben estar protegidos. Sólo se permite su acceso y
manipulación a través de los métodos.

Si un objeto desea que otro objeto haga algo le envía un mensaje que puede
tener información adicional en forma de parámetros.

Cuando un objeto recibe un mensaje ejecutará un método u operación.

Abstracción de
datos.

se basa en ocultar
detalles de implementación y mostrar solamente la funcionalidad al usuario

Para reducir la complejidad de código

Consiste en unir en la clase las características y comportamientos, (los atributos y métodos). Es tener todo esto en una sola entidad.

Facilidad para manejar la
complejidad.

image

image

Permite la definición de nuevas clases a partir de otras clases ya definidas.

Representa una relación en la cual una clase es una especialización o
extensión de otra clase.

Permite definir una nueva subclase (o clase derivada) como una
especialización o extensión de una superclase (o clase base) más general.

La subclase hereda tanto los atributos como los métodos definidos por la
superclase (reusabilidad de código).

Permite que distintos objetos pertenecientes a una misma
clase “respondan” de distintas formas a un mismo mensaje.

En POO el polimorfismo está restringido
a la relación de herencia.

image

Reduce el tiempo de desarrollo de aplicaciones e incrementa la
productividad de los ingenieros de software.

Reutilización de clases.

Diseño de una nueva clase a partir de otra (herencia).

POO
ingeniería en software 301.
Navarrete Garamendi Uriel.

image

image

image

image

image