Está en la página 1de 23

Universidad Técnica del Norte

Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Programación Orientada a Objetos


La programación orientada a objetos es un
paradigma de programación totalmente
diferente al método clásico de
programación, el cual utiliza objetos y su
comportamiento para resolver problemas y
generar programas y aplicaciones
informáticas.
.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Programación Orientada a Objetos


Con la programación orientada a objetos (POO) se
aumenta la modularidad de los programas y la
reutilización de los mismos. Además, la POO se
diferencia de la programación clásica porque utiliza
técnicas nuevas como el polimorfismo, el
encapsulamiento, la herencia, etc.
Generalmente los lenguajes de programación de
última generación permiten la programación
orientada a objetos, así como también la
programación clásica, con lo cual puede entenderse la
POO como una evolución de la programación clásica.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Programación Orientada a Objetos


Con la programación orientada a objetos (POO) se
aumenta la modularidad de los programas y la
reutilización de los mismos. Además, la POO se
diferencia de la programación clásica porque utiliza
técnicas nuevas como el polimorfismo, el
encapsulamiento, la herencia, etc.
Generalmente los lenguajes de programación de
última generación permiten la programación
orientada a objetos, así como también la
programación clásica, con lo cual puede entenderse la
POO como una evolución de la programación clásica.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

• Los programas realizados mediante el paradigma de la POO


solamente tienen objetos.
• Todos los objetos pertenecen a una clase, por ejemplo, mi loro Felipe
pertenecería a la clase pájaro.
• Todos los objetos de la clase pájaro se identificarán, entre otros
atributos, con un nombre (en su caso Felipe), un color de plumaje
(verde), una edad (en su caso 2 años) y si son domésticos o no (Felipe
sí es doméstico pues lo tengo ahora en mi hombro).

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
Clases y Objetos.
Los conceptos básicos del paradigma OO son clase y objeto. En el modelo OO se
combina la estructura y el comportamiento de los datos en una única entidad, los
objetos. Los objetos son simplemente entidades que tienen sentido en el contexto de
una aplicación

Ejemplo: Determinar los objetos presentes en un juego de ajedrez.

Comúnmente, como respuesta a este ejemplo se enuncia el peón, el caballo, la torre, etc., pero
sin dudas
estos son conceptos o abstracciones que agrupan a las piezas concretas que aparecen en el juego
de ajedrez, es decir, peón, caballo y torre entre otras, constituyen clases, que entre sus
responsabilidades tienen el color, la posición que ocupan, la forma de avanzar y comer, etc. Los
objetos son entonces los 16 peones (8 negros y 8 blancos), los 4 caballos, las 4 torres, el tablero,
etc.
Fausto Alberto Salazar Fierro
Universidad Técnica del Norte
Programación II
• En la siguiente figura se muestra el esquema general para la representación de una clase en la notación
seleccionada. Nótese como esta notación deja clara la diferenciación entre los distintos tipos de
responsabilidades dedicándole una sección a cada uno de ellos.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
• La clase Niño tiene una responsabilidad que se ha denotado CepillarDientes, la cual es imposible de
realizar sin el uso de un objeto o instancia de una clase que podríamos denominar CepilloDientes.
• Nótese que esta relación se establece en una sola dirección, en este caso las instancias de la clase Niñose
auxilian o usan una instancia de la clase CepilloDientes para llevar a cabo (ejecutar) el método
CepillarDientes.

Este tipo de relación se denomina dependencia y establece una relación de uso que declara que un
cambio en la especificación de un elemento

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
• Aunque no se ha expresado explícitamente, las clases Niño, Mamá y Papá tienen responsabilidades
comunes por lo que pueden a su vez ser agrupadas en una clase más general Persona.
• Como en la clase Persona se agrupan un conjunto de responsabilidades comunes a Niño, Mamá y Papá
es posible decir que entre estas tres clases y Persona se puede establecer una relación “es un”. Por ejemplo,
Niño “es una” Persona. Este tipo de relación se define como generalización

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
• Seguidamente se muestra una variante de la clase Niño donde se incluyen nuevos atributos que pudiera
tener y posteriormente se determinará el tipo de dato de cada uno de ellos.

Añadiéndose el tipo de dato de


cada uno de sus atributos

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
Acceso a las responsabilidades de los objetos. Parametrización de los métodos

Ha concretado nada sobre cómo los objetos acceden a sus responsabilidades. Para ello se utilizará la
notación:
<objeto>.<responsabilidad>
Utilizando dicha notación alejandro puede acceder a su atributo nombre de la siguiente forma:
alejandro.nombre
y al método CepillarDientes de la forma:
alejandro.CepillarDientes
Nótese que tanto al atributo nombre como al método CepillarDientes se accede de forma
Semejante

Una variante de solución a este problema es colocar un par de paréntesis (“()”) al final de los métodos

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Definición de una clase:


• Una clase es un tipo definido por el usuario que describe los atributos
y los métodos de los objetos que se crearán a partir de la misma. Los
atributos definen el estado de un determinado objeto y los métodos
son las operaciones que definen su comportamiento. Forman parte
de estos métodos los constructores, que permiten iniciar un objeto, y
los destructores, que permiten destruirlo.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II
Definición de una clase:
Los atributos y los métodos se denominan en general miembros de la
clase. Según hemos aprendido, la definición de una clase consta de dos
partes: el nombre de la clase precedido por la palabra reservada class y
el cuerpo de la clase encerrado entre llaves y seguido de un punto y
coma. Esto es:
class nombre_clase {
cuerpo de la clase
};
.

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Fausto Alberto Salazar Fierro


Universidad Técnica del Norte
Programación II

Práctica

Fausto Alberto Salazar Fierro

También podría gustarte