SlideShare una empresa de Scribd logo
Programación Orientada a Objetos (POO).
La programación orientada a Objetos básicamente define una serie de conceptos y
técnicas de programación para representar acciones o cosas de la vida real basada en
objetos, a diferencia de otras formas de programación como por ejemplo la estructurada,
con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como
clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre otros,
generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del
sistema principal, definiendo el programa como un conjunto de estos objetos relacionados
entre si.
Clases.
Las clases son uno de los principales componentes de un lenguaje de programación, pues
en ellas ocurren todos los procesos lógicos requeridos para un sistema, en si podemos
definirlas como estructuras que representan objetos del mundo real, tomando como
objetos a personas, lugares o cosas, en general las clases poseen propiedades,
comportamientos y relaciones con otras clases del sistema. (Ejemplo...)
una clase se compone por tres partes fundamentales:
Nombre : Contiene el Nombre de la Clase.
Atributos : Representan las propiedades que caracterizan la clase.
Métodos : Representan el comportamiento u operaciones, la forma como interactúa la
clase con su entorno.
En java se representa así :
1
2
3
4
5
6
7
8
9
10
11
/**Principal define el nombre de la Clase*/
public class Principal {
public String atributo="Esto es un atributo";
/**Esto es un método, donde se definen las operaciones*/
public void metodo(){
/**aqui van las sentencias que definen
* el comportamiento del método*/
}
}
Objeto.
Los objetos representan una entidad concreta o abstracta del mundo real, en
programación básicamente se le conoce como la instancia de una clase en si es lo que da
el sentido a estas.
Al igual que las clases se componen de tres partes fundamentales:
Estado: Representa los atributos o características con valores concretos del
objeto. Comportamiento : Se define por los métodos u operaciones que se pueden
realizar con el. Identidad : Es la propiedad única que representa al objeto y lo diferencia
del resto.
en la imagen, los moldes representan las clases, mientras que las galletas obtenidas de
estos moldes representan los objetos instancias de estas clases, por ejemplo atributos del
objeto galleta podría ser sabor, color, tamaño etc......
En java se representa creando una instancia de la clase por medio de la palabra new al
hacer eso creamos el objeto de la clase y podemos hacer uso de los métodos o atributos
de esta (dependiendo de la visibilidad de los mismos ) por medio de un punto (.) así:
1
2
3
4
/**Creamos el objeto como instancia de la clase Principal*/
Principal miObjeto= new Principal();
miObjeto.atributo="Este es el nuevo valor del atributo para el objeto";
miObjeto.metodo();
Herencia.
La herencia en java representa lo que conocemos de herencia en el mundo real,
básicamente mediante esta obtenemos las características o rasgos comunes de nuestros
padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases
basadas en clases ya existentes, con las cuales podemos obtener las características de las
clases padres, heredando campos, atributos, métodos o funcionalidades.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Animal{
public String tamaño;
public void comer(){
/**Comportamiento.....*/
}
}
class Perro extends Animal{
public int dientes;
public void correr(){
/**Comportamiento.....*/
}
}
class Paloma extends Animal{
public int plumas;
public void volar(){
/**Comportamiento.....*/
}
}
Encapsulamiento.
Este concepto es uno de los mas importantes en términos de seguridad dentro de
nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del
sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de
nuestros datos
Se representa por 3 niveles :
Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se
puede acceder a los atributos o métodos solo en la misma jerarquía de
herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la
que se encuentran.
con la Encapsulación mantenemos nuestros datos seguros, ya que podemos evitar que
por ejemplo se hagan modificaciones al estado o comportamiento de un objeto desde
una clase externa, una buena practica es trabajar con métodos setter y getter que
permiten manipular nuestros datos de forma segura.
en Java lo representamos así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Principal{
public String atributo1;
private String atributo2;
protected String atributo3;
/**Métodos Set y Get para trabajar con las variables*/
public String getAtributo2() {
return atributo2;
}
public void setAtributo2(String atributo2) {
this.atributo2 = atributo2;
}
}
Clases Abstractas.
La abstracción permite resaltar la parte mas representativa de algo, ignorando
detalles para centrarse en lo principal.
La imagen es muy fácil de identificar, con base a ella podemos crear una clase
persona, o la clase hombre, humano entre otras, pero obviamente vemos que la
imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies,
manos o cuello....... pero entonces porque decimos que es una persona?.........
Precisamente aquí estamos aplicando el concepto de abstracción, ya que nos fijamos
en lo mas representativo de algo, en este caso vemos que se tiene una cabeza,
tronco, brazos y pies, con esto es suficiente para saber que es una persona sin
fijarnos en los detalles mencionados anteriormente.
Las clases abstractas permiten crear métodos generales con un comportamiento
común para otras clases concretas sin importar sus características ni el
comportamiento que usen para dichos métodos.
La Abstracción en java solo tiene lógica mediante la Herencia, ya que una clase abstracta
posee al menos un método abstracto el cual no tiene implementación, el
comportamiento de estos métodos lo definen las clases concretas que lo hereden.
Podemos usarlos cuando existan varias clases con características o acciones comunes
pero con diferentes comportamientos..............mediante el uso de la herencia y
componentes abstractos hacemos mas óptima y organizada nuestra aplicación. (hay que
tener en cuenta que a diferencia de las clases concretas, las clases abstractas no se
pueden instanciar). (Ver Ejemplo...)
En Java representamos la abstracción mediante la palabra reservada abstract, así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public abstract class Principal{
/**Método Abstracto sin implementación*/
public abstract void metodoAbstracto();
}
class subClase extends Principal{
@Override
public void metodoAbstracto() {
/**Implementación definida por la clase concreta*/
}
}
Interfaces.
Las interfaces son el mecanismo que utiliza Java para simular la herencia múltiple,
como mencionamos en Java solo se puede extender de una sola clase, mediante el
uso de interfaces esto se puede simular ya que el lenguaje permite implementar el
numero de interfaces que necesitemos, básicamente son clases completamente
abstractas, es común relacionarlas con un contrato en el que se define que se debe
hacer, así cada clase concreta que implemente una interfaz esta obligada a
implementar todos los métodos que la compongan.
las interfaces definen lo que la clase que la implemente deberá hacer, mas no la
forma como lo hará.
al decir que las interfaces son clases completamente abstractas significa que todos
sus métodos lo son y por ende no poseen implementación, no requieren el uso de
la palabra reservada abstract, ya que al ser completamente abstracta todo dentro
de ella lo es, al igual que las clases abstractas la implementación de
los métodos depende de las clases concretas que las usen.
Se debe tener en cuenta que toda variable definida en una
interfaz automáticamente se convierte en una constante, además tampoco se
puede instanciar una interfaz..... (Ver Ejemplo...)
En java se representan con la palabra interface y se usan con la palabra implements así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
interface InterfacePrincipal {
public void metodoAbstracto();
public String otroMetodoAbstracto();
}
public class Principal implements InterfacePrincipal{
public void metodoAbstracto() {
/**Implementación definida por la clase concreta*/
}
public String otroMetodoAbstracto() {
/**Implementación definida por la clase concreta*/
return "retorno";
}
}
Polimorfismo.
Este tal vez sea uno de los conceptos de la programación orientada a objetos mas usados
pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un
poco confuso, básicamente mediante el polimorfismo programamos de forma general en
lugar de hacerlo de forma especifica, se usa cuando se trabajen con la herencia y objetos
de características comunes los cuales comparten la misma superClase y árbol jerárquico,
al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro
trabajo.
Básicamente podemos definirlo como la capacidad que tienen los objetos de comportarse
de múltiples formas sin olvidar que para esto se requiere de la herencia, en si consiste en
hacer referencia a objetos de una clase que puedan tomar comportamientos de objetos
descendientes de esta.
Con el polimorfismo usamos la generalización olvidando los detalles concretos de los
objetos para centrarnos en un punto en común mediante una clase padre.
Tomando como ejemplo la imagen anterior, podemos decir que un objeto de la
clase FiguraGeometrica puede usarse para referirse a cualquier objeto de
cualquier subClase de FiguraGeometrica.............. en otras palabras una figura
geométrica puede ser un cuadro, un triángulo, un cuadrado o cualquier figura que en
términos generales sea geométrica...... (Ejemplo1)
Veamos este proceso como se representa en Java.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class FiguraGeometrica{
}
class Cuadrado extends FiguraGeometrica {
}
class Triangulo extends FiguraGeometrica {
}
class Circulo extends FiguraGeometrica{
}
public class Principal{
public void metodo(){
/**Puedo crear objetos concretos*/
FiguraGeometrica miFiguraGeometrica = new FiguraGeometrica();
Cuadrado miCuadro=new Cuadrado();
/**Puedo crear objetos polimorficos*/
miFiguraGeometrica=miCuadro;
/**Objeto Cuadrado de tipo FiguraGeometrica*/
FiguraGeometrica miCuadrado= new Cuadrado();
/**Objeto Circulo de tipo FiguraGeometrica*/
FiguraGeometrica miCirculo=new Circulo();
/**Objeto Triangulo de tipo FiguraGeometrica*/
FiguraGeometrica miTriangulo=new Triangulo();
}
}

Más contenido relacionado

La actualidad más candente

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
lindacajaperuiz
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
Uniminuto - San Francisco
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
Ing. Giovanny Moncayo
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
Whaleejaa Wha
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
frank yordi tejada sanchez
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Kudos S.A.S
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
Cesar David Fernandez Grueso
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
Whaleejaa Wha
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
Eusebio Alvarado Mendez
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
Maria Garcia
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
Gabriel Mondragón
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
Karen Olan
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
GREINDER MARCHENA & LIZ VASQUEZ
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
Ramiro Estigarribia Canese
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
Teolinda González
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
Fernando Solis
 
Elementos De Una Clase
Elementos De Una ClaseElementos De Una Clase
Elementos De Una Clase
Namuel Solorzano Peralta
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
Roberto Rojas
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
Marines Ahuanlla
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
Josue Sarabia
 

La actualidad más candente (20)

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Qué es la poo
Qué es la pooQué es la poo
Qué es la poo
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
POO sencillito
POO sencillitoPOO sencillito
POO sencillito
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Elementos De Una Clase
Elementos De Una ClaseElementos De Una Clase
Elementos De Una Clase
 
1. introduccion a la programación orientada a objeto (poo)
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
 
Fundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a ObjetosFundamentos de Programación Orientada a Objetos
Fundamentos de Programación Orientada a Objetos
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 

Similar a Introduccionjava

[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
Eudris Cabrera
 
Act10byme
Act10bymeAct10byme
Act10byme
karinaaura
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
Marielena Lujano
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Consultor Independiente
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
Xavii Torres
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
vnslgars
 
Programación orientada a objetos
Programación orientada a objetos Programación orientada a objetos
Programación orientada a objetos
Jorge Luis B
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
Jorge Luis B
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
oosorioj
 
Programación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezProgramación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinez
Ernesto Miranda
 
Investigac programac 5º unidad
Investigac programac 5º unidadInvestigac programac 5º unidad
Investigac programac 5º unidad
K Manuel TN
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Thalia Regalado Juape
 
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
MIGUEL_INGENIERO
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.ppt
juan gonzalez
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
JENNY GUAYLLA
 
TRABAJO N°1
TRABAJO N°1 TRABAJO N°1
TRABAJO N°1
mabelcefla5
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
Libertad25
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
javierccallo
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetos
Alejandro Canosa
 
Prog.orientada a objeto
Prog.orientada a objetoProg.orientada a objeto
Prog.orientada a objeto
Ruben Balza Moya
 

Similar a Introduccionjava (20)

[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
 
Act10byme
Act10bymeAct10byme
Act10byme
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programación orientada a objetos
Programación orientada a objetos Programación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetos Programacion orientada a objetos
Programacion orientada a objetos
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Programación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinezProgramación orientado a objetos miranda burgos, armas martinez
Programación orientado a objetos miranda burgos, armas martinez
 
Investigac programac 5º unidad
Investigac programac 5º unidadInvestigac programac 5º unidad
Investigac programac 5º unidad
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)Conceptos y definiciones de poo (quino ortiz & miguel martinez)
Conceptos y definiciones de poo (quino ortiz & miguel martinez)
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.ppt
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
 
TRABAJO N°1
TRABAJO N°1 TRABAJO N°1
TRABAJO N°1
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
 
Apunte paradigma orientado a objetos
Apunte paradigma orientado a objetosApunte paradigma orientado a objetos
Apunte paradigma orientado a objetos
 
Prog.orientada a objeto
Prog.orientada a objetoProg.orientada a objeto
Prog.orientada a objeto
 

Último

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
ROCIORUIZQUEZADA
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
EleNoguera
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
Demetrio Ccesa Rayme
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
https://gramadal.wordpress.com/
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
romina395894
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
LinoLatella
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CARMENSnchez854591
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 

Último (20)

Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
 
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdfCarnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
Carnavision: anticipa y aprovecha - hackathon Pasto2024 .pdf
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
Chatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdfChatgpt para los Profesores Ccesa007.pdf
Chatgpt para los Profesores Ccesa007.pdf
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptxCONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
CONCURSOS EDUCATIVOS 2024-PRESENTACIÓN ORIENTACIONES ETAPA IE (1).pptx
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 

Introduccionjava

  • 1. Programación Orientada a Objetos (POO). La programación orientada a Objetos básicamente define una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real basada en objetos, a diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre otros, generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre si. Clases. Las clases son uno de los principales componentes de un lenguaje de programación, pues en ellas ocurren todos los procesos lógicos requeridos para un sistema, en si podemos definirlas como estructuras que representan objetos del mundo real, tomando como objetos a personas, lugares o cosas, en general las clases poseen propiedades, comportamientos y relaciones con otras clases del sistema. (Ejemplo...) una clase se compone por tres partes fundamentales: Nombre : Contiene el Nombre de la Clase. Atributos : Representan las propiedades que caracterizan la clase. Métodos : Representan el comportamiento u operaciones, la forma como interactúa la clase con su entorno.
  • 2. En java se representa así : 1 2 3 4 5 6 7 8 9 10 11 /**Principal define el nombre de la Clase*/ public class Principal { public String atributo="Esto es un atributo"; /**Esto es un método, donde se definen las operaciones*/ public void metodo(){ /**aqui van las sentencias que definen * el comportamiento del método*/ } }
  • 3. Objeto. Los objetos representan una entidad concreta o abstracta del mundo real, en programación básicamente se le conoce como la instancia de una clase en si es lo que da el sentido a estas. Al igual que las clases se componen de tres partes fundamentales: Estado: Representa los atributos o características con valores concretos del objeto. Comportamiento : Se define por los métodos u operaciones que se pueden realizar con el. Identidad : Es la propiedad única que representa al objeto y lo diferencia del resto. en la imagen, los moldes representan las clases, mientras que las galletas obtenidas de estos moldes representan los objetos instancias de estas clases, por ejemplo atributos del objeto galleta podría ser sabor, color, tamaño etc...... En java se representa creando una instancia de la clase por medio de la palabra new al hacer eso creamos el objeto de la clase y podemos hacer uso de los métodos o atributos de esta (dependiendo de la visibilidad de los mismos ) por medio de un punto (.) así:
  • 4. 1 2 3 4 /**Creamos el objeto como instancia de la clase Principal*/ Principal miObjeto= new Principal(); miObjeto.atributo="Este es el nuevo valor del atributo para el objeto"; miObjeto.metodo(); Herencia. La herencia en java representa lo que conocemos de herencia en el mundo real, básicamente mediante esta obtenemos las características o rasgos comunes de nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases basadas en clases ya existentes, con las cuales podemos obtener las características de las clases padres, heredando campos, atributos, métodos o funcionalidades.
  • 5. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 public class Animal{ public String tamaño; public void comer(){ /**Comportamiento.....*/ } } class Perro extends Animal{ public int dientes; public void correr(){ /**Comportamiento.....*/ } } class Paloma extends Animal{ public int plumas; public void volar(){ /**Comportamiento.....*/ } }
  • 6. Encapsulamiento. Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos Se representa por 3 niveles : Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se puede acceder a los atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la que se encuentran. con la Encapsulación mantenemos nuestros datos seguros, ya que podemos evitar que por ejemplo se hagan modificaciones al estado o comportamiento de un objeto desde una clase externa, una buena practica es trabajar con métodos setter y getter que permiten manipular nuestros datos de forma segura. en Java lo representamos así:
  • 7. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class Principal{ public String atributo1; private String atributo2; protected String atributo3; /**Métodos Set y Get para trabajar con las variables*/ public String getAtributo2() { return atributo2; } public void setAtributo2(String atributo2) { this.atributo2 = atributo2; } }
  • 8. Clases Abstractas. La abstracción permite resaltar la parte mas representativa de algo, ignorando detalles para centrarse en lo principal. La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies, manos o cuello....... pero entonces porque decimos que es una persona?......... Precisamente aquí estamos aplicando el concepto de abstracción, ya que nos fijamos en lo mas representativo de algo, en este caso vemos que se tiene una cabeza, tronco, brazos y pies, con esto es suficiente para saber que es una persona sin fijarnos en los detalles mencionados anteriormente. Las clases abstractas permiten crear métodos generales con un comportamiento común para otras clases concretas sin importar sus características ni el comportamiento que usen para dichos métodos.
  • 9. La Abstracción en java solo tiene lógica mediante la Herencia, ya que una clase abstracta posee al menos un método abstracto el cual no tiene implementación, el comportamiento de estos métodos lo definen las clases concretas que lo hereden. Podemos usarlos cuando existan varias clases con características o acciones comunes pero con diferentes comportamientos..............mediante el uso de la herencia y componentes abstractos hacemos mas óptima y organizada nuestra aplicación. (hay que tener en cuenta que a diferencia de las clases concretas, las clases abstractas no se pueden instanciar). (Ver Ejemplo...) En Java representamos la abstracción mediante la palabra reservada abstract, así: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public abstract class Principal{ /**Método Abstracto sin implementación*/ public abstract void metodoAbstracto(); } class subClase extends Principal{ @Override public void metodoAbstracto() { /**Implementación definida por la clase concreta*/ } }
  • 10. Interfaces. Las interfaces son el mecanismo que utiliza Java para simular la herencia múltiple, como mencionamos en Java solo se puede extender de una sola clase, mediante el uso de interfaces esto se puede simular ya que el lenguaje permite implementar el numero de interfaces que necesitemos, básicamente son clases completamente abstractas, es común relacionarlas con un contrato en el que se define que se debe hacer, así cada clase concreta que implemente una interfaz esta obligada a implementar todos los métodos que la compongan. las interfaces definen lo que la clase que la implemente deberá hacer, mas no la forma como lo hará. al decir que las interfaces son clases completamente abstractas significa que todos sus métodos lo son y por ende no poseen implementación, no requieren el uso de la palabra reservada abstract, ya que al ser completamente abstracta todo dentro de ella lo es, al igual que las clases abstractas la implementación de los métodos depende de las clases concretas que las usen. Se debe tener en cuenta que toda variable definida en una interfaz automáticamente se convierte en una constante, además tampoco se puede instanciar una interfaz..... (Ver Ejemplo...)
  • 11. En java se representan con la palabra interface y se usan con la palabra implements así: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 interface InterfacePrincipal { public void metodoAbstracto(); public String otroMetodoAbstracto(); } public class Principal implements InterfacePrincipal{ public void metodoAbstracto() { /**Implementación definida por la clase concreta*/ } public String otroMetodoAbstracto() { /**Implementación definida por la clase concreta*/ return "retorno"; } }
  • 12. Polimorfismo. Este tal vez sea uno de los conceptos de la programación orientada a objetos mas usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante el polimorfismo programamos de forma general en lugar de hacerlo de forma especifica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo. Básicamente podemos definirlo como la capacidad que tienen los objetos de comportarse de múltiples formas sin olvidar que para esto se requiere de la herencia, en si consiste en hacer referencia a objetos de una clase que puedan tomar comportamientos de objetos descendientes de esta. Con el polimorfismo usamos la generalización olvidando los detalles concretos de los objetos para centrarnos en un punto en común mediante una clase padre.
  • 13. Tomando como ejemplo la imagen anterior, podemos decir que un objeto de la clase FiguraGeometrica puede usarse para referirse a cualquier objeto de cualquier subClase de FiguraGeometrica.............. en otras palabras una figura geométrica puede ser un cuadro, un triángulo, un cuadrado o cualquier figura que en términos generales sea geométrica...... (Ejemplo1) Veamos este proceso como se representa en Java.
  • 14. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 class FiguraGeometrica{ } class Cuadrado extends FiguraGeometrica { } class Triangulo extends FiguraGeometrica { } class Circulo extends FiguraGeometrica{ } public class Principal{ public void metodo(){ /**Puedo crear objetos concretos*/ FiguraGeometrica miFiguraGeometrica = new FiguraGeometrica(); Cuadrado miCuadro=new Cuadrado(); /**Puedo crear objetos polimorficos*/ miFiguraGeometrica=miCuadro; /**Objeto Cuadrado de tipo FiguraGeometrica*/ FiguraGeometrica miCuadrado= new Cuadrado(); /**Objeto Circulo de tipo FiguraGeometrica*/ FiguraGeometrica miCirculo=new Circulo(); /**Objeto Triangulo de tipo FiguraGeometrica*/ FiguraGeometrica miTriangulo=new Triangulo(); } }