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.
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
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.
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.
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.