SlideShare una empresa de Scribd logo
1 de 5
INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL”
ANALISIS Y DISEÑO ORIENTADO A OBJETOS
NOMBRES: Graciela Cefla
SEMESTRE: Cuarto Sistemas
FECHA: 11/10/2016
TAREA N°: 1
TEMA: Conceptos y ejemplos de los siguientes términos: Objeto, Clase,
Herencia, Polimorfismo, Encapsulamiento.
OBJETO
Un objeto es una entidad provista de un conjunto de propiedades o atributos (datos),
de un comportamiento o funcionalidad (métodos) y de sus posibles relaciones con otros
objetos.
El concepto de objeto tiene un concepto equivalente al objeto de nuestro mundo real.
En nuestro entorno siempre estamos en constante relación con objetos: los creamos, los
usamos, los modificamos cambiando sus atributos, características o propiedades, los
relacionamos con otros objetos, etc.
Por ejemplo tomemos el objeto Automóvil.
Un automóvil es un objeto bastante pesado que tiene un conjunto de propiedadescomo
su identificación (placa), color, marca, modelo, accesorios, etc. Tiene también un
conjunto de funcionescomo la de desplazarse, detenerse, ponerse en marcha. Podemos
cambiarle de color, aumentar o quitar sus accesorios; es decir, podemos modificar sus
propiedades. Tienen de la capacidad de ser activados para poner en acción sus
funcionalidades; es decir, disponemos de un procedimiento para ponerlo en marcha,
avanzar en retroceso, detenerlo, voltear a la izquierda o derecha; es decir, mediante un
conjunto de métodos podemos darle uso al objeto automóvil.
En la POO el objeto es el automóvil; las propiedades de este objeto son sus
características y los métodos lo constituyen las funcionalidades o procedimientos con
los cuales hacemos uso del objeto y modificamos su estado o contenido.
En el Excel podemoshablar del objeto Celda. Este objeto tiene dimensiones, color de
fondo, tipo de borde, tiene un contenido o valor. Posee algunas funcionalidades que nos
permiten cambiarlo de tamaño, de color de fondo, de contenido. El objeto celda
pertenece al objeto Rango y está relacionada con él y tiene otras relaciones con otros
objetos como el objeto Hoja, el objeto Gráfico, Libro, etc.
CLASE
Las clases son plantillas que agrupan comportamiento (métodos) y estados (atributos)
de los futuros objetos.
Los objetos son instancias de una clase. Usando el símil “variable – tipo” de la
programación estructurada, se entiendo que un objeto es una variable que tiene el
comportamiento y estados del tipo (objeto)
Veamos la creación de la clase Persona
1
2
3
4
5
6
7
8
9
public class Persona {
public String nombre;
public int edad;
public void correr(){
/* por implementar */
}
}
y dentro del cuerpo del programa instanciamos una nueva Persona denominada
Esteban:
1
2
3
4
5
6
7
8
9
10
11
public class Main {
public static void main(String[] args) {
Persona esteban = new Persona();
// Ahora que esteban es persona, puede correr
esteban.corre();
}
}
HERENCIA
Se expresa como Herencia, cuya estructura jerárquica nos permite extender clases
heredando todo (comportamientos y estados) desde una clase padre o Super Clase. Las
clases que hereden de una Super Clase se denominan Clases Hijas o Sub Clases.
Ejemplo: Imaginemos que una Persona ha sido expuesta a una extraña radiación y
ahora tiene super poderes, por lo que no deja de ser persona, pero ahora tiene nuevos
comportamientos y estados, por lo que diremos que la nueva clase SuperHeroe hereda
de la clase Persona:
POLIMORFISMO
El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes
sintácticamente iguales a objetos de tipos distintos. El único requisito que deben
cumplir los objetos que se utilizan de manera polimórfica es saber responder al
mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se
utilice, más allá de las obvias diferencias sintácticas.
Por ejemplo, en un lenguaje de programación que cuenta con un sistema de
tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u
objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se
utilizan de modo polimórfico sean parte de una jerarquía de clases.
ENCAPSULAMIENTO
Se denomina Encapsulamiento al ocultamiento del estado, es decir, del dato miembro
de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas
para ese objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se
reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
asociados de un objeto contra su modificación por quien no tenga derecho a acceder a
ellos, eliminando efectos secundarios e interacciones.
De esta forma el usuario de la clase puede obviar la implementación de los métodos y
propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el
usuario pueda cambiar su estado de maneras imprevistas e incontroladas.
Es el proceso de almacenar en una misma sección los elementos de una abstracción
que constituyen su estructura y su comportamiento; sirve para separar el interfaz
contractual de una abstracción y su implantación.
La encapsulación se refiere al hecho de “ocultar” una variable de nuestra clase hacia el
exterior, veamos un ejemplo relativo a nuestra clase Vehículo. Supongamos queremos
saber el valor de la velocidad, para acceder al valor, simplemente tendríamos que
hacer:
1
2
System.out.println("Velocidad: " + vehiculo.velocidad );//Mostrar velocidad
vehiculo.velocidad = 10;//Asignar velocidad
Pero supongamos que nosotros no queremos que se pueda acceder de esta manera (por
ejemplo, en el contexto que tengamos una clase Cliente, perteneciente a un banco,
nosotros no queremos que se pueda cambiar el valor del saldo del cliente desde afuera
de la clase), por lo tanto, tendríamos que hacer una encapsulación de nuestra variable
(en este caso, la variable velocidad), para esto, en la declaración de nuestra variable,
debemos anteponer la palabra reservada private antes del tipo de nuestra variable,
con esto, le estamos diciendo que nuestra variable solo puede ser vista desde dentro de
nuestra clase (es decir, solo podremos acceder a ella desde las funciones internas de
nuestra clase). Aquí un ejemplo de como convertir nuestra varible velocidad en
privada:
1 private int velocidad;
Ahora si intentamos acceder a nuestra variable velocidad, no podremos hacerlo. Nota:
las variables que no anteponen ninguna palabra antes del tipo, se asume que son
publicas (que es la manera en la que hemos usado hasta ahora).Ahora, supongamos
que queremos acceder al valor de la variable (por ejemplo si queremos hacer una
consulta de saldo en otra aplicación), pero no queremos que se modifique desde afuera,
para esto, simplemente debemos crear una función que nos retorne el valor, tal como
sigue:
1
2
3
public int getVelocidad() {
return velocidad;
}</pre>
La función anterior, suele llamarse getter en el mundo de la programación, por el otro
lado, existe una función setter, la cual se encarga de asignar un valor, esto se hace
para tener control total de lo que podemos y no podemos hacer con nuestra variable,
aquí les dejo un ejemplo de un setter:
1
2
3
4
public void setVelocidad(int velocidad) {</pre>
this.velocidad = velocidad;
}
<pre>
Quiero aclarar que el término getter y setter son solo convenciones utilizadas,
básicamente es decir que creamos una función para obtener un dato especifico (getter)
y otra función para asignar un dato específico (setter).
Si aún no queda claro, quiero hacer notar la diferencia entre public y private. Cuando
decimos que una variable, clase, función, etc. es de tipo public, estamos diciendo que se
puede acceder desde cualquier parte a ella, si decimos que es private, estamos diciendo
que sólo se podrá acceder a ella desde dentro de la clase donde se declara.
También existe otro tipo de control de acceso, el cual es de tipo protected, esto quiere
decir que solamente se puede acceder a variables, funciones, etc. de este tipo
solamente desde la clase en donde se declara, y las clases heredadas de esta

Más contenido relacionado

La actualidad más candente

Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objetoboncastell
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospontifica
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNSergio Sanchez
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetosDon Augusto
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
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 ObjetosKudos S.A.S
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSAbraham Morales
 
Poo Java
Poo JavaPoo Java
Poo Javaeccutpl
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herenciaPedro Alvarez
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosALGLYS RAMIREZ
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )brayan0015
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
 

La actualidad más candente (20)

Programación orientada al objeto
Programación orientada al objetoProgramación orientada al objeto
Programación orientada al objeto
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Unidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióNUnidad 1 Mad IntroduccióN
Unidad 1 Mad IntroduccióN
 
Programacion orientada-a-objetos
Programacion orientada-a-objetosProgramacion orientada-a-objetos
Programacion orientada-a-objetos
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
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
 
Poo presentacion
Poo presentacionPoo presentacion
Poo presentacion
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
PROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOSPROGRAMACION ORIENTADA A OBJETOS
PROGRAMACION ORIENTADA A OBJETOS
 
Prog.orientada a objeto
Prog.orientada a objetoProg.orientada a objeto
Prog.orientada a objeto
 
Poo Java
Poo JavaPoo Java
Poo Java
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Fundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
 
java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 

Similar a Objetos, Clases, Herencia, Polimorfismo y Encapsulamiento

Conceptos POO PV
Conceptos POO PVConceptos POO PV
Conceptos POO PVDavid Clara
 
Introduccionjava
IntroduccionjavaIntroduccionjava
IntroduccionjavaOLGA MONTES
 
[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
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POOjvaldes9928
 
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 ObjetosMarines Ahuanlla
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptjorgealfarol
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosAlexis Arguello
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAngel Laverde ID
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
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 martinezErnesto Miranda
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 

Similar a Objetos, Clases, Herencia, Polimorfismo y Encapsulamiento (20)

Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Conceptos POO PV
Conceptos POO PVConceptos POO PV
Conceptos POO PV
 
Introduccionjava
IntroduccionjavaIntroduccionjava
Introduccionjava
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
[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
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Clase y Objeto de la POO
Clase y Objeto de la POOClase y Objeto de la POO
Clase y Objeto de la POO
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
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
 
clases
clasesclases
clases
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación 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
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
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
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Poo
PooPoo
Poo
 

Último

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minasMirkaCBauer
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptxadso2024sena
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx46828205
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 

Último (18)

Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
locomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minaslocomotas v siclo.ppt de ingenieria de minas
locomotas v siclo.ppt de ingenieria de minas
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx3Mayo2023 Taller construcción de Prototipos.pptx
3Mayo2023 Taller construcción de Prototipos.pptx
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
Producto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptxProducto académico 03 - Habilidades Comunicativas.pptx
Producto académico 03 - Habilidades Comunicativas.pptx
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 

Objetos, Clases, Herencia, Polimorfismo y Encapsulamiento

  • 1. INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL” ANALISIS Y DISEÑO ORIENTADO A OBJETOS NOMBRES: Graciela Cefla SEMESTRE: Cuarto Sistemas FECHA: 11/10/2016 TAREA N°: 1 TEMA: Conceptos y ejemplos de los siguientes términos: Objeto, Clase, Herencia, Polimorfismo, Encapsulamiento.
  • 2. OBJETO Un objeto es una entidad provista de un conjunto de propiedades o atributos (datos), de un comportamiento o funcionalidad (métodos) y de sus posibles relaciones con otros objetos. El concepto de objeto tiene un concepto equivalente al objeto de nuestro mundo real. En nuestro entorno siempre estamos en constante relación con objetos: los creamos, los usamos, los modificamos cambiando sus atributos, características o propiedades, los relacionamos con otros objetos, etc. Por ejemplo tomemos el objeto Automóvil. Un automóvil es un objeto bastante pesado que tiene un conjunto de propiedadescomo su identificación (placa), color, marca, modelo, accesorios, etc. Tiene también un conjunto de funcionescomo la de desplazarse, detenerse, ponerse en marcha. Podemos cambiarle de color, aumentar o quitar sus accesorios; es decir, podemos modificar sus propiedades. Tienen de la capacidad de ser activados para poner en acción sus funcionalidades; es decir, disponemos de un procedimiento para ponerlo en marcha, avanzar en retroceso, detenerlo, voltear a la izquierda o derecha; es decir, mediante un conjunto de métodos podemos darle uso al objeto automóvil. En la POO el objeto es el automóvil; las propiedades de este objeto son sus características y los métodos lo constituyen las funcionalidades o procedimientos con los cuales hacemos uso del objeto y modificamos su estado o contenido. En el Excel podemoshablar del objeto Celda. Este objeto tiene dimensiones, color de fondo, tipo de borde, tiene un contenido o valor. Posee algunas funcionalidades que nos permiten cambiarlo de tamaño, de color de fondo, de contenido. El objeto celda pertenece al objeto Rango y está relacionada con él y tiene otras relaciones con otros objetos como el objeto Hoja, el objeto Gráfico, Libro, etc. CLASE Las clases son plantillas que agrupan comportamiento (métodos) y estados (atributos) de los futuros objetos. Los objetos son instancias de una clase. Usando el símil “variable – tipo” de la programación estructurada, se entiendo que un objeto es una variable que tiene el comportamiento y estados del tipo (objeto) Veamos la creación de la clase Persona 1 2 3 4 5 6 7 8 9 public class Persona { public String nombre; public int edad; public void correr(){ /* por implementar */ } }
  • 3. y dentro del cuerpo del programa instanciamos una nueva Persona denominada Esteban: 1 2 3 4 5 6 7 8 9 10 11 public class Main { public static void main(String[] args) { Persona esteban = new Persona(); // Ahora que esteban es persona, puede correr esteban.corre(); } } HERENCIA Se expresa como Herencia, cuya estructura jerárquica nos permite extender clases heredando todo (comportamientos y estados) desde una clase padre o Super Clase. Las clases que hereden de una Super Clase se denominan Clases Hijas o Sub Clases. Ejemplo: Imaginemos que una Persona ha sido expuesta a una extraña radiación y ahora tiene super poderes, por lo que no deja de ser persona, pero ahora tiene nuevos comportamientos y estados, por lo que diremos que la nueva clase SuperHeroe hereda de la clase Persona: POLIMORFISMO El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas. Por ejemplo, en un lenguaje de programación que cuenta con un sistema de tipos dinámico (en los que las variables pueden contener datos de cualquier tipo u objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se utilizan de modo polimórfico sean parte de una jerarquía de clases. ENCAPSULAMIENTO Se denomina Encapsulamiento al ocultamiento del estado, es decir, del dato miembro de un objeto de manera que sólo se pueda cambiar mediante las operaciones definidas para ese objeto. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
  • 4. asociados de un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. De esta forma el usuario de la clase puede obviar la implementación de los métodos y propiedades para concentrarse sólo en cómo usarlos. Por otro lado se evita que el usuario pueda cambiar su estado de maneras imprevistas e incontroladas. Es el proceso de almacenar en una misma sección los elementos de una abstracción que constituyen su estructura y su comportamiento; sirve para separar el interfaz contractual de una abstracción y su implantación. La encapsulación se refiere al hecho de “ocultar” una variable de nuestra clase hacia el exterior, veamos un ejemplo relativo a nuestra clase Vehículo. Supongamos queremos saber el valor de la velocidad, para acceder al valor, simplemente tendríamos que hacer: 1 2 System.out.println("Velocidad: " + vehiculo.velocidad );//Mostrar velocidad vehiculo.velocidad = 10;//Asignar velocidad Pero supongamos que nosotros no queremos que se pueda acceder de esta manera (por ejemplo, en el contexto que tengamos una clase Cliente, perteneciente a un banco, nosotros no queremos que se pueda cambiar el valor del saldo del cliente desde afuera de la clase), por lo tanto, tendríamos que hacer una encapsulación de nuestra variable (en este caso, la variable velocidad), para esto, en la declaración de nuestra variable, debemos anteponer la palabra reservada private antes del tipo de nuestra variable, con esto, le estamos diciendo que nuestra variable solo puede ser vista desde dentro de nuestra clase (es decir, solo podremos acceder a ella desde las funciones internas de nuestra clase). Aquí un ejemplo de como convertir nuestra varible velocidad en privada: 1 private int velocidad; Ahora si intentamos acceder a nuestra variable velocidad, no podremos hacerlo. Nota: las variables que no anteponen ninguna palabra antes del tipo, se asume que son publicas (que es la manera en la que hemos usado hasta ahora).Ahora, supongamos que queremos acceder al valor de la variable (por ejemplo si queremos hacer una consulta de saldo en otra aplicación), pero no queremos que se modifique desde afuera, para esto, simplemente debemos crear una función que nos retorne el valor, tal como sigue: 1 2 3 public int getVelocidad() { return velocidad; }</pre> La función anterior, suele llamarse getter en el mundo de la programación, por el otro lado, existe una función setter, la cual se encarga de asignar un valor, esto se hace para tener control total de lo que podemos y no podemos hacer con nuestra variable, aquí les dejo un ejemplo de un setter: 1 2 3 4 public void setVelocidad(int velocidad) {</pre> this.velocidad = velocidad; } <pre> Quiero aclarar que el término getter y setter son solo convenciones utilizadas, básicamente es decir que creamos una función para obtener un dato especifico (getter) y otra función para asignar un dato específico (setter).
  • 5. Si aún no queda claro, quiero hacer notar la diferencia entre public y private. Cuando decimos que una variable, clase, función, etc. es de tipo public, estamos diciendo que se puede acceder desde cualquier parte a ella, si decimos que es private, estamos diciendo que sólo se podrá acceder a ella desde dentro de la clase donde se declara. También existe otro tipo de control de acceso, el cual es de tipo protected, esto quiere decir que solamente se puede acceder a variables, funciones, etc. de este tipo solamente desde la clase en donde se declara, y las clases heredadas de esta