SlideShare una empresa de Scribd logo
1 de 7
Autor: Luis Heladio Garzón Rodríguez
OBJETIVO GENERAL
Propender porque el estudiante se apropie el aprendizaje de las características y
fundamentos de programación orientada a objetos, aplicándolo en la construcción de
soluciones a problemas de programación.
OBJETIVOS ESPECIFICOS
• Conocer y comprender las características fundamentales de la programación
orientada a objetos.
• Conocer y comprender los conceptos fundamentales de la POO, Herencia y sus
ventajas.
• Continuar el afianzamiento con las estructuras de control.
• Entender el propósito de los procesos de la programación orientada a objetos.
• Comprender los conceptos fundamentales de la programación y su importancia.
• Profundizar mediante la investigación por el estudiante, de los conceptos aquí
tratados.
PROGRAMACIÓN ORIENTADA A OBJETOS
Programación orientada a objetos es una forma de elaborar soluciones de
programación muy aproximadas a la realidad.
En el paradigma de programación Orientada a objetos (POO) es una forma especial de
programar, más cercana a como expresaríamos las cosas en la vida real que otros
tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para
escribir nuestros programas en términos de objetos, propiedades, métodos y otras
cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que
permita soltarnos un poco con este tipo de programación.
Durante años, los programadores se han dedicado a construir aplicaciones muy
parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los
esfuerzos de los programadores puedan ser utilizados por otras personas se creó la
POO. Que es una serie de normas de realizar las cosas de manera que otras personas
puedan utilizarlas y adelantar su trabajo, de tal forma que consigamos que el código se
pueda reutilizar.
La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de
quien la programa, de manera que la forma de hacer las cosas puede ser diferente
según el programador. Aunque podamos hacer los programas de formas distintas, no
todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar
bien. Programar bien es importante porque así nos podemos aprovechar de todas las
ventajas de la POO.
UNIDAD III
PROGRAMACIÓN ORIENTADA A OBJETOS
Autor: Luis Heladio Garzón Rodríguez
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por
ejemplo vamos a pensar en un coche para tratar de modelarlo en un esquema de POO.
Diríamos que el coche es el elemento principal que tiene una serie de características,
como podrían ser el color, el modelo o la marca. Además tiene una serie de
funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar.
Pues en un esquema POO el coche sería el objeto, las propiedades serían las
características como el color o el modelo y los métodos serían las funcionalidades
asociadas como ponerse en marcha o parar.
Por poner otro ejemplo vamos a ver cómo modelaríamos en un esquema de POO una
fracción, es decir, esa estructura matemática que tiene un numerador y un
denominador que divide al numerador, por ejemplo 3/2.
La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador.
Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o
número, restarse con otra fracción, etc.
Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de
matemáticas harás uso de objetos fracción y en un programa que gestione un taller de
coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos
objetos para realizar las acciones que se desean realizar y ellos mismos también son
objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche,
herramienta, mecánico, recambios, etc.
De acuerdo a esto podemos concluir que en la programación orientada a objetos, la
reusabilidad, el empaquetamiento, la ocultación, la encapsulación, la modularidad, la
herencia son características fundamentales para hacer que los esfuerzos de
programación puedan redundar en menores esfuerzos humanos, mayores beneficios o
resultados y baja de costos.
La programación orientada a objetos es una técnica cuyo bloque de construcción
principal son los objetos y las interrelaciones.
Un objeto son estructuras de datos más las funciones que operan sobre estas
estructuras.
Revise el tema Programación Orientada a Objetos, propuesto en la unidad II, para
repasar las características de la POO, y los conceptos fundamentales de la POO.
En esta unidad centraremos nuestra atención y esfuerzo en la definición de los
siguientes conceptos:
1. Herencia en POO
2. Constructores
3. Clases abstractas
4. Redefinición de métodos
5. Restringir la herencia
6. Visibilidad protegida
Autor: Luis Heladio Garzón Rodríguez
1. HERENCIA
Es la facilidad mediante la cual la clase B hereda en ella cada uno de los atributos y
operaciones de A, como si esos atributos y operaciones hubiesen sido definidos por la
misma B. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas
en A. Los componentes registrados como "privados" (private) también se heredan,
pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo
pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener
hegemónico el ideal de POO.
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía
de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las
clases a las que pertenecen.
La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos preexistentes.
Estos pueden compartir (y extender) su comportamiento sin tener que volver a
implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y
estas en árboles o enrejados que reflejan un comportamiento común. Cuando un
objeto hereda de más de una clase se dice que hay herencia múltiple.
Se puede construir una clase a partir de otra mediante el mecanismo de la herencia. La
clase nueva es la clase derivada y la clase fuente u original es la clase base. Para
indicar que una clase es derivada de otra se utiliza la palabra reservada extends :
class <nombre_clase_derivada> extends <nombre_clase_original> {…..}
ejemplo:
class automóvil extends vehiculo
Lo anterior significa que previamente a sido creada una clase “vehiculo” y que a partir
de esta se crea una clase nueva “automóvil” que hereda todas las características
(variables y métodos) definidas en la clase base “vehiculo”.
De esta misma forma en algunos casos se habla de super-clase y sub-clase. Donde
la super-clase es la clase base y la sub-clase es la clase derivada.
Cuando no se especifica explícitamente que una clase deriva (extends) de la clase
base, por defecto heredara de la clase java.lang.object, que es la clase raíz de toda
la jerarquía en java. Esto significa que todas las clases heredan algunos métodos de
Object.
Nota: Para profundizar más sobre el tema revise los libros:
• Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182.
file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf
• Deitel. Programar en Java. 7ª. Edición. Cap 3, Pag. 72; Cap 9 pag 360.
http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.%20J.
%20Deitel.pdf
Autor: Luis Heladio Garzón Rodríguez
• Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 48.
http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
1.1 La clase Object
Todas las clases en JAVA derivan de Object.
La clase Object tiene métodos importantes que son heredados y es necesario
conocerlos, para sacar el mejor provecho de estos.
Por ejemplo el método clone(), equals(), tostring() o finalize(), para saber más sobre
ellos y otros, consulte en los libros indicados en la nota anterior.
2. CONSTRUCTORES
Un constructor en POO es una instrucción mediante la cual se inicializa una instancia
de una clase.
Esto significa que en toda clase debe escribirse un constructor. El constructor es un
bloque de instrucciones donde se inicializa las variables de la clase. El constructor tiene
el mismo nombre de la clase. No tiene tipo, esto significa que no retorna valor.
2.2 Declarar un Objeto y crear un objeto
Se declara un objeto, de forma parecida como se declara una variable.
String cadena1; //declaración del objeto cadena1 de la clase string
Con el solo hecho de declararlo, no se puede utilizar. Se tiene que crear. Esto se hace
mediante el operador new().
cadena1 = new string (“Creación de una cadena de caracteres”);
Lo anterior se debe interpretar como la creación del objeto cadena, cuando el
compilador ejecuta el operador new, crea un nuevo espacio o un nuevo objeto llamado
cadena1 de la clase string, con un valor inicial, que es la cadena “Creación de una
cadena de caracteres” asignada.
Veamos otro ejemplo:
vehi automóvil = new vehi; //creación de un nuevo objeto de la clase vehi
Lo anterior significa que automóvil se está declarando como un objeto de la clase vehi,
por ello hereda todas las variables y métodos de vehi. Con el operador new se indica
al compilador que cree un objeto del tipo o clase vehi.
Nota: Para profundizar más sobre el tema revise los libros:
• Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182.
Autor: Luis Heladio Garzón Rodríguez
• Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182.
file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf
• Deitel. Programar en Java. 7ª. Edición. Cap 9 pag 360.
http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.%20J.
%20Deitel.pdf
• Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 50.
http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
3. CLASES ABSTRACTAS
Abstracción: Denota las características esenciales de un objeto, donde se
capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y
"comunicarse" con otros objetos en el sistema sin revelar cómo se implementan
estas características. Los procesos, las funciones o los métodos pueden también ser
abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar
una abstracción.
Nota: Para profundizar más sobre el tema revise los libros:
• Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 50.
http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
Observen la estructura para un programa en JAVA
Clase <NombreClase>
{
//Propiedades que pueden ser public, prívate, protected
//constructor
<NombreClase>
{ //instrucciones }
//Declaracion de métodos
<NombreClase> <NombreMetodo1>
{ //instrucciones }
.
.
.
<NombreClase> <NombreMetodon>
{ //instrucciones }
//Metodo principal
Public static void main ()
{ //desde aquí se operacionaliza la clase a través de objetos
} //Fin del método principal
//Funciones que no son métodos de la clase o funciones independientes
Tipo TipoDato NombreFuncion (<Parámetros>)
{ //Instrucciones de la función
}//Fin de la funcion
Autor: Luis Heladio Garzón Rodríguez
} //Fin de la clase
La intensión en esta parte es que se familiaricen con la estructura de una clase y como
se operacionaliza su funcionalidad, variables locales, métodos, constructores, etc.
Para ello propongo revisar: http://www.inf-cr.uclm.es/www/cmunoz/mytp/ejercicios7.pdf donde
encontraran ejemplos y casos de estudio para analizar.
BIBLIOGRAFIA
Libros
• Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero.
http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
• Holzner, Steven. La biblia de Java 2.
file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya
%20Multimedia.pdf
• Deitel. Programar en Java. 7ª. Edición.
http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.
%20J.%20Deitel.pdf
• Sánchez, Jorge. Java 2. http://www.jorgesanchez.net/programacion/manuales/Java.pdf
WebgrafÍa
Guía de iniciación al lenguaje Java. Tutorial de Java. Octubre 1999.
http://zarza.usal.es/~fgarcia/doc/tuto2/Index.htm
Lenguaje de programación JAVA. Enciclopedia Wikipedia.
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java
Java Inicial. Emilio Avilés Ávila.
http://www.slideshare.net/techmi/curso-java-inicial-1-poo
Aprendiendo JAVA y programación orientada a objetos. Gustavo Guillermo Pérez.
http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf
Introducción a la POO y el lenguaje JAVA.
http://wwwdi.ujaen.es/asignaturas/progav/progav-tema1.pdf
Programación Orientada a Objetos en JAVA.
http://wwwdi.ujaen.es/asignaturas/progav/progav-tema2.pdf
Aprender JAVA POO.
http://aprender-java.blogspot.com/
Manuales de JAVA.
http://todojava.awardspace.com/manuales-java.html
Autor: Luis Heladio Garzón Rodríguez
} //Fin de la clase
La intensión en esta parte es que se familiaricen con la estructura de una clase y como
se operacionaliza su funcionalidad, variables locales, métodos, constructores, etc.
Para ello propongo revisar: http://www.inf-cr.uclm.es/www/cmunoz/mytp/ejercicios7.pdf donde
encontraran ejemplos y casos de estudio para analizar.
BIBLIOGRAFIA
Libros
• Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero.
http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf
• Holzner, Steven. La biblia de Java 2.
file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya
%20Multimedia.pdf
• Deitel. Programar en Java. 7ª. Edición.
http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.
%20J.%20Deitel.pdf
• Sánchez, Jorge. Java 2. http://www.jorgesanchez.net/programacion/manuales/Java.pdf
WebgrafÍa
Guía de iniciación al lenguaje Java. Tutorial de Java. Octubre 1999.
http://zarza.usal.es/~fgarcia/doc/tuto2/Index.htm
Lenguaje de programación JAVA. Enciclopedia Wikipedia.
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java
Java Inicial. Emilio Avilés Ávila.
http://www.slideshare.net/techmi/curso-java-inicial-1-poo
Aprendiendo JAVA y programación orientada a objetos. Gustavo Guillermo Pérez.
http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf
Introducción a la POO y el lenguaje JAVA.
http://wwwdi.ujaen.es/asignaturas/progav/progav-tema1.pdf
Programación Orientada a Objetos en JAVA.
http://wwwdi.ujaen.es/asignaturas/progav/progav-tema2.pdf
Aprender JAVA POO.
http://aprender-java.blogspot.com/
Manuales de JAVA.
http://todojava.awardspace.com/manuales-java.html

Más contenido relacionado

La actualidad más candente

Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosBeydasanchezhernandez
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Orientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesOrientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesSorey García
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datosJuan Moran Sanchez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetoshedamajo
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)yanburbano
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos JavaC_QUENGUAN
 

La actualidad más candente (20)

Poo
PooPoo
Poo
 
Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetos
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
Orientacion A Objetos Para Dummies
Orientacion A Objetos Para DummiesOrientacion A Objetos Para Dummies
Orientacion A Objetos Para Dummies
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programacion estructurad de base de datos
Programacion estructurad de base de datosProgramacion estructurad de base de datos
Programacion estructurad de base de datos
 
Clases y Objetos
Clases y ObjetosClases y Objetos
Clases y Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Trabajo poo
Trabajo poo Trabajo poo
Trabajo poo
 
POO
POOPOO
POO
 
Unidad i parte i
Unidad i parte iUnidad i parte i
Unidad i parte i
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Poo Programacion Orientada A Objetos Java
Poo   Programacion Orientada A Objetos   JavaPoo   Programacion Orientada A Objetos   Java
Poo Programacion Orientada A Objetos Java
 

Similar a Unidad III epoo

Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfSantiagoValenzuela24
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetostaly1999
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a ObjetosYin Miroslawa
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemasjorgecaruci
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OOsullinsan
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A ObjetosAndrés
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013Edgar Rosas
 
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020Laura Noussan Lettry
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosGabriel Mondragón
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POOLibertad25
 

Similar a Unidad III epoo (20)

Programacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdfProgramacion Orientada Objetos.pdf
Programacion Orientada Objetos.pdf
 
Que es
Que esQue es
Que es
 
Hgtyj
HgtyjHgtyj
Hgtyj
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Poo2
Poo2Poo2
Poo2
 
Diseño de Sistemas
Diseño de SistemasDiseño de Sistemas
Diseño de Sistemas
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
Poo
PooPoo
Poo
 
Practica retro java 28102013
Practica retro java 28102013Practica retro java 28102013
Practica retro java 28102013
 
Compu 1
Compu 1Compu 1
Compu 1
 
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020
POOABD (POO Aplicada a B Datos) - API JDBC parte 1 -2020
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programacion
ProgramacionProgramacion
Programacion
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Introduccion a la POO
Introduccion a la POOIntroduccion a la POO
Introduccion a la POO
 

Unidad III epoo

  • 1. Autor: Luis Heladio Garzón Rodríguez OBJETIVO GENERAL Propender porque el estudiante se apropie el aprendizaje de las características y fundamentos de programación orientada a objetos, aplicándolo en la construcción de soluciones a problemas de programación. OBJETIVOS ESPECIFICOS • Conocer y comprender las características fundamentales de la programación orientada a objetos. • Conocer y comprender los conceptos fundamentales de la POO, Herencia y sus ventajas. • Continuar el afianzamiento con las estructuras de control. • Entender el propósito de los procesos de la programación orientada a objetos. • Comprender los conceptos fundamentales de la programación y su importancia. • Profundizar mediante la investigación por el estudiante, de los conceptos aquí tratados. PROGRAMACIÓN ORIENTADA A OBJETOS Programación orientada a objetos es una forma de elaborar soluciones de programación muy aproximadas a la realidad. En el paradigma de programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación. Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación. Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser utilizados por otras personas se creó la POO. Que es una serie de normas de realizar las cosas de manera que otras personas puedan utilizarlas y adelantar su trabajo, de tal forma que consigamos que el código se pueda reutilizar. La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador. Aunque podamos hacer los programas de formas distintas, no todas ellas son correctas, lo difícil no es programar orientado a objetos sino programar bien. Programar bien es importante porque así nos podemos aprovechar de todas las ventajas de la POO. UNIDAD III PROGRAMACIÓN ORIENTADA A OBJETOS
  • 2. Autor: Luis Heladio Garzón Rodríguez Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelaríamos en un esquema de POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc. Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc. De acuerdo a esto podemos concluir que en la programación orientada a objetos, la reusabilidad, el empaquetamiento, la ocultación, la encapsulación, la modularidad, la herencia son características fundamentales para hacer que los esfuerzos de programación puedan redundar en menores esfuerzos humanos, mayores beneficios o resultados y baja de costos. La programación orientada a objetos es una técnica cuyo bloque de construcción principal son los objetos y las interrelaciones. Un objeto son estructuras de datos más las funciones que operan sobre estas estructuras. Revise el tema Programación Orientada a Objetos, propuesto en la unidad II, para repasar las características de la POO, y los conceptos fundamentales de la POO. En esta unidad centraremos nuestra atención y esfuerzo en la definición de los siguientes conceptos: 1. Herencia en POO 2. Constructores 3. Clases abstractas 4. Redefinición de métodos 5. Restringir la herencia 6. Visibilidad protegida
  • 3. Autor: Luis Heladio Garzón Rodríguez 1. HERENCIA Es la facilidad mediante la cual la clase B hereda en ella cada uno de los atributos y operaciones de A, como si esos atributos y operaciones hubiesen sido definidos por la misma B. Por lo tanto, puede usar los mismos métodos y variables públicas declaradas en A. Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de POO. Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. Se puede construir una clase a partir de otra mediante el mecanismo de la herencia. La clase nueva es la clase derivada y la clase fuente u original es la clase base. Para indicar que una clase es derivada de otra se utiliza la palabra reservada extends : class <nombre_clase_derivada> extends <nombre_clase_original> {…..} ejemplo: class automóvil extends vehiculo Lo anterior significa que previamente a sido creada una clase “vehiculo” y que a partir de esta se crea una clase nueva “automóvil” que hereda todas las características (variables y métodos) definidas en la clase base “vehiculo”. De esta misma forma en algunos casos se habla de super-clase y sub-clase. Donde la super-clase es la clase base y la sub-clase es la clase derivada. Cuando no se especifica explícitamente que una clase deriva (extends) de la clase base, por defecto heredara de la clase java.lang.object, que es la clase raíz de toda la jerarquía en java. Esto significa que todas las clases heredan algunos métodos de Object. Nota: Para profundizar más sobre el tema revise los libros: • Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182. file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf • Deitel. Programar en Java. 7ª. Edición. Cap 3, Pag. 72; Cap 9 pag 360. http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.%20J. %20Deitel.pdf
  • 4. Autor: Luis Heladio Garzón Rodríguez • Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 48. http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf 1.1 La clase Object Todas las clases en JAVA derivan de Object. La clase Object tiene métodos importantes que son heredados y es necesario conocerlos, para sacar el mejor provecho de estos. Por ejemplo el método clone(), equals(), tostring() o finalize(), para saber más sobre ellos y otros, consulte en los libros indicados en la nota anterior. 2. CONSTRUCTORES Un constructor en POO es una instrucción mediante la cual se inicializa una instancia de una clase. Esto significa que en toda clase debe escribirse un constructor. El constructor es un bloque de instrucciones donde se inicializa las variables de la clase. El constructor tiene el mismo nombre de la clase. No tiene tipo, esto significa que no retorna valor. 2.2 Declarar un Objeto y crear un objeto Se declara un objeto, de forma parecida como se declara una variable. String cadena1; //declaración del objeto cadena1 de la clase string Con el solo hecho de declararlo, no se puede utilizar. Se tiene que crear. Esto se hace mediante el operador new(). cadena1 = new string (“Creación de una cadena de caracteres”); Lo anterior se debe interpretar como la creación del objeto cadena, cuando el compilador ejecuta el operador new, crea un nuevo espacio o un nuevo objeto llamado cadena1 de la clase string, con un valor inicial, que es la cadena “Creación de una cadena de caracteres” asignada. Veamos otro ejemplo: vehi automóvil = new vehi; //creación de un nuevo objeto de la clase vehi Lo anterior significa que automóvil se está declarando como un objeto de la clase vehi, por ello hereda todas las variables y métodos de vehi. Con el operador new se indica al compilador que cree un objeto del tipo o clase vehi. Nota: Para profundizar más sobre el tema revise los libros: • Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182.
  • 5. Autor: Luis Heladio Garzón Rodríguez • Holzner, Steven. La biblia de Java 2. Capi 4, Pg. 182. file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya%20Multimedia.pdf • Deitel. Programar en Java. 7ª. Edición. Cap 9 pag 360. http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P.%20J. %20Deitel.pdf • Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 50. http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf 3. CLASES ABSTRACTAS Abstracción: Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. Nota: Para profundizar más sobre el tema revise los libros: • Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. Cap 3 Pag 50. http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf Observen la estructura para un programa en JAVA Clase <NombreClase> { //Propiedades que pueden ser public, prívate, protected //constructor <NombreClase> { //instrucciones } //Declaracion de métodos <NombreClase> <NombreMetodo1> { //instrucciones } . . . <NombreClase> <NombreMetodon> { //instrucciones } //Metodo principal Public static void main () { //desde aquí se operacionaliza la clase a través de objetos } //Fin del método principal //Funciones que no son métodos de la clase o funciones independientes Tipo TipoDato NombreFuncion (<Parámetros>) { //Instrucciones de la función }//Fin de la funcion
  • 6. Autor: Luis Heladio Garzón Rodríguez } //Fin de la clase La intensión en esta parte es que se familiaricen con la estructura de una clase y como se operacionaliza su funcionalidad, variables locales, métodos, constructores, etc. Para ello propongo revisar: http://www.inf-cr.uclm.es/www/cmunoz/mytp/ejercicios7.pdf donde encontraran ejemplos y casos de estudio para analizar. BIBLIOGRAFIA Libros • Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf • Holzner, Steven. La biblia de Java 2. file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya %20Multimedia.pdf • Deitel. Programar en Java. 7ª. Edición. http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P. %20J.%20Deitel.pdf • Sánchez, Jorge. Java 2. http://www.jorgesanchez.net/programacion/manuales/Java.pdf WebgrafÍa Guía de iniciación al lenguaje Java. Tutorial de Java. Octubre 1999. http://zarza.usal.es/~fgarcia/doc/tuto2/Index.htm Lenguaje de programación JAVA. Enciclopedia Wikipedia. http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java Java Inicial. Emilio Avilés Ávila. http://www.slideshare.net/techmi/curso-java-inicial-1-poo Aprendiendo JAVA y programación orientada a objetos. Gustavo Guillermo Pérez. http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf Introducción a la POO y el lenguaje JAVA. http://wwwdi.ujaen.es/asignaturas/progav/progav-tema1.pdf Programación Orientada a Objetos en JAVA. http://wwwdi.ujaen.es/asignaturas/progav/progav-tema2.pdf Aprender JAVA POO. http://aprender-java.blogspot.com/ Manuales de JAVA. http://todojava.awardspace.com/manuales-java.html
  • 7. Autor: Luis Heladio Garzón Rodríguez } //Fin de la clase La intensión en esta parte es que se familiaricen con la estructura de una clase y como se operacionaliza su funcionalidad, variables locales, métodos, constructores, etc. Para ello propongo revisar: http://www.inf-cr.uclm.es/www/cmunoz/mytp/ejercicios7.pdf donde encontraran ejemplos y casos de estudio para analizar. BIBLIOGRAFIA Libros • Garcia de Jalon, Javier y otros. Aprenda Java como si estuviera en primero. http://www4.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/Java/Java2.pdf • Holzner, Steven. La biblia de Java 2. file:///C:/Users/Luis%20H/Downloads/La%20Biblia%20del%20Java%202%20-%20Holzner,%20Steven%20-%20Anaya %20Multimedia.pdf • Deitel. Programar en Java. 7ª. Edición. http://www.academica.mx/sites/default/files/adjuntos/13274/Como%20programar%20en%20Java%20-%207ma%20Edicion%20-%20P. %20J.%20Deitel.pdf • Sánchez, Jorge. Java 2. http://www.jorgesanchez.net/programacion/manuales/Java.pdf WebgrafÍa Guía de iniciación al lenguaje Java. Tutorial de Java. Octubre 1999. http://zarza.usal.es/~fgarcia/doc/tuto2/Index.htm Lenguaje de programación JAVA. Enciclopedia Wikipedia. http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java Java Inicial. Emilio Avilés Ávila. http://www.slideshare.net/techmi/curso-java-inicial-1-poo Aprendiendo JAVA y programación orientada a objetos. Gustavo Guillermo Pérez. http://www.compunauta.com/forums/linux/programacion/java/AprendiendoJava.pdf Introducción a la POO y el lenguaje JAVA. http://wwwdi.ujaen.es/asignaturas/progav/progav-tema1.pdf Programación Orientada a Objetos en JAVA. http://wwwdi.ujaen.es/asignaturas/progav/progav-tema2.pdf Aprender JAVA POO. http://aprender-java.blogspot.com/ Manuales de JAVA. http://todojava.awardspace.com/manuales-java.html