SlideShare una empresa de Scribd logo
1 de 59
La programación orientada a objetos java
De la clase de ayer PREGUNTAS
[object Object],[object Object],[object Object],Qué es:
[object Object],[object Object],Que significa:
[object Object],[object Object],Diga
La programación orientada a objetos java
Temas ,[object Object],[object Object],[object Object]
Objetivos ,[object Object],[object Object],[object Object],[object Object]
Pensando en términos de objetos ,[object Object],[object Object],[object Object],La POO ve un programa como un conjunto de objetos que trabajan juntos de manera predefinida para realizar tareas.
Clases   Abstracción que describe propiedades y comportamientos importantes para una aplicación e ignora lo restante. Describe un conjunto posiblemente infinito de objetos individuales. Los elementos de este conjunto tienen propiedades semejantes ( atributos ), como el comportamiento ( operaciones ) y las relaciones (ejemplo,  enlaces ) con otros  objetos , semejantes.
Como una colección de campos y métodos (funciones y procedimientos) que trabajan juntos para acometer una tarea específica de programación.   Clases
Una clase es una pantilla implementada en software que describe un conjunto de objetos con atributos y comportamiento similares. Una instancia u objeto de una clase es una representación concreta y específica de una clase y que reside en la memoria del ordenador. Ejemplo Clase
Objeto Un elemento independiente de un programa de computadora que representa un numero de recursos relacionados y es proyectado para cumplir tareas específicas.
Atributos Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.
Comportamiento El comportamiento de los  objetos  de una clase se implementa mediante funciones miembro o  métodos .
Método Es un conjunto de instrucciones que realizan una determinada tarea.  Son similares a las funciones de los lenguajes estructurados.
Del mismo modo que hay variables  de instancia y de clase , también hay métodos de instancia y de clase. En el primer caso, un objeto llama a un método para realizar una determinada tarea, en el segundo, el método se llama desde la  propia clase . Métodos de instancia y de clase
Ejemplos de clases  ,[object Object],[object Object],[object Object]
Ejemplos de Instancias de las clases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Crear una clase Se utiliza la palabra reservada class y a continuación el nombre de la clase. La definición de la clase se pone entre las llaves de apertura y cierre. El nombre de la clase empieza por letra mayúscula. Ejemplo: class Rectangulo{ //miembros dato //funciones miembro }
Crear clase class  mamifero  { String color;  String sex; boolean hambre; } Se crean tres variables de instancias. Faltan métodos. Nota Nota
Métodos void  alimentarMamifero ()  { If (hambre == true)  { System.out.printl (“dale comida al animalito”); hambre=false;  }else System.out.printl (“El animal esta en forma”); } // Hay mas
class  mamifero { String color;  String sex; boolean hambre; }  void  alimentarMamifero () { If (hambre == true) { System.out.printl (“dale comida al animalito”); hambre=false;  }else System.out.printl (“El animal esta en forma”); } //Hay mas Hasta ahora tenemos
Falta un método void  showAttributes ()  { System.out.printl (“Este es un” + sexo+”” +color+”mamifero”); If (hambre == true)  System.out.printl (“El animal esta con hambre”);  else System.out.printl (“El animal esta lleno”); }
class  mamífero { String color;  String sex; boolean hambre; }  void  alimentarMamifero () { If (hambre == true) { System.out.printl (“dale comida al animalito”); hambre=false;  }else System.out.printl (“El animal esta en forma”); }  void  showAttributes ()  { System.out.printl (“Este es un” + sexo+”” +color+”mamifero”); If (hambre == true)  System.out.printl (“El animal esta con hambre”);  else System.out.printl (“El animal esta lleno”); }
Ejecutar el programa mamifero.class Producirá un error del tipo: In class mamifero :void main (string []) is not defined. Ocurre porque el interpretador asume que se trata de una aplicación, cuando se intenta ejecutar en la línea de comando.
Cuando una aplicación se ejecuta ,[object Object],[object Object]
Los miembros dato Los valores de los atributos se guardan en los miembros dato o variables de instancia. Los nombres de dichas variables comienzan por letra minúscula, como ya hemos visto.
Solución ,[object Object],[object Object],[object Object]
Crear un método main ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Creando un método main
Ámbito de una variable No se puede declarar una variable con el mismo nombre que una de ámbito exterior. Ejemplo.  En C y C++ son distintas, porque están declaradas dentro de ámbitos diferentes. En Java, esto es ilegal. Class Ambito {   int i = 1; // ámbito exterior   { // crea un nuevo ámbito   int i = 2; // error de compilación   }   }
Vamos a crear otra clase denominada Rectángulo, que describa las características comunes a estas figuras planas que son las siguientes:  El origen del rectángulo: el origen o posición de la esquina superior izquierda del rectángulo en el plano determinado por dos números enteros x e y.  Las dimensiones del rectángulo: ancho y alto, otros dos números enteros Otro ejemplo
class Rectangulo{ int x; int y; int ancho; int alto; //faltan las funciones miembro } Clase rectángulo
Las funciones miembro En el lenguaje C++ las funciones miembro se declaran, se definen y se llaman. En el lenguaje Java las funciones miembro o métodos solamente se definen y se llaman.  Como ya vimos el nombre de las funciones miembro o métodos comienza por letra minúscula y deben sugerir acciones (mover, calcular, etc.).
Forma general tipo nombreFuncion(tipo parm1, tipo parm2, tipo parm3){ //...sentencias } Entre las llaves de apertura y cierre se coloca la definición de la función. tipo indica el tipo de dato que puede ser predefinido int, double, etc, o definido por el usuario, una clase cualquiera.
Llamar a un función miembro o método retorno=objeto.nombreFuncion(arg1, arg2, arg3); Cuando se llama a la función, los argumentos arg1, arg2, arg3 se copian en los parámetros parm1, parm2, parm3 y se ejecutan las sentencias dentro de la función. La función finaliza cuando se llega al final de su bloque de definición o cuando encuentra una sentencia return.  Cuando se llama a la función, el valor devuelto mediante la sentencia return se asigna a la variable retorno.
Cuando una función no devuelve nada se dice que es de tipo void.  void funcion(....){ //sentencias... } VOID
Puede finalizar antes del llegar al final de su definición void funcion(....){ //sentencias... if(condicion) return; //sentencias.. } Una función
Puede devolver un valor (un tipo de dato primitivo o un objeto).  double funcion(....){ double suma=0.0; //sentencias... return suma; } Una función
Cualquier variable declarada dentro de la función tiene una vida temporal, existiendo en memoria, mientras la función esté activa. Se trata de variables locales a la función. Por ejemplo:  void nombreFuncion(int parm){ //... int i=5; //... } La variable parm, existe desde el comienzo hasta el final de la función. La variable local i, existe desde el punto de su declaración hasta el final del bloque de la función. Vida de las variables
EJEMPLO:  La clase Rectángulo  Calcular el área: class Rectangulo{ int x; int y; int ancho; int alto; int calcularArea(){ return (ancho*alto); } }
La función no devuelve nada es de tipo void. class Rectangulo{ int x; int y; int ancho; int alto; void desplazar(int dx, int dy){ x+=dx; y+=dy; } } Desplazar el rectángulo
La función que determina si un punto está o no en el interior del rectángulo, devolverá  true  si el punto se encuentra en el interior del rectángulo y devolverá  false  si no se encuentra, es decir, será una función del tipo  boolean . La función necesitará conocer las coordenadas de dicho punto.  Determinar si un punto pertenece a un rectángulo
Para que un punto de coordenadas x1 e y1 esté dentro de un rectángulo cuyo origen es x e y, y cuyas dimensiones son ancho y alto, se deberá cumplir a la vez cuatro condiciones  x1>x  y a la vez x1<x+ancho También se debe cumplir  y1>y  y a la vez y1<y+alto Como se tienen que cumplir las cuatro condiciones a la vez, se unen mediante el operador lógico AND simbolizado por &&. Para ello
class Rectangulo{ int x; int y; int ancho; int alto; boolean estaDentro(int x1, int y1){ if((x1>x)&&(x1<x+ancho)&&(y1>y)&&(y1<y+alto)) { return true; } return false; } } Solución
Herencia Con la herencia definiremos nuevas clases ( subclases ) a partir de clases ya existentes ( superclases ) adaptando el código de esta última o añadiendo nuevo código pero “sin tocar” la clase original, es decir sin afectar la funcionalidad ya existente para la superclase .
Herencia La herencia permite expresar jerarquías de tipos que favorecen un mejor modelado y diseño a la vez que permiten obtener mas flexibilidad gracias al polimorfismo y el principio de sustitución
¿ Cómo se dice en java que una clase está heredando de otra?   class  nombreSubClase  extends  nombreSuperClase { ...... }
abstract  Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia.   final  Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final.   public  Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.   Tipos de clases
Resumen Clase : Un modelo para un objeto que contiene variables para describirlos y métodos para describir como ellos se comportan. Las clases pueden heredar variables y métodos de otras clases. Objeto:  Una instancia de una clase. Varios objetos que sean instancia de la misma clase tienen acceso a los mismos métodos, pero frecuente mente tienen valores diferentes para sus variables.
Método:   Un grupo de instrucciones en una clase que define como los  los objetos de la clase se comportan. Los métodos son análogos a las funciones en otros lenguajes, pero siempre deben estar localizados dentro de una clase.  Método de instancia, variable de clase, variable de instancia Resumen
Fin de la clase Próximo tema: Clases y superclases
Nota 1 En el lenguaje Java, si la primera condición es falsa no se evalúan las restantes expresiones ya que el resultado es false. Ahora bien, si la primera es verdadera true, se pasa a evaluar la segunda, si ésta es falsa el resultado es false, y así sucesivamente.
Nota 2 Un String es un termino genérico que significa un grupo de caracteres, pero un objeto String es creado en Java usando una de las clases patrones de Java. Una clase String es usada para almacenamiento de texto y para muchas funciones de tratamiento de texto .
Nota 3 Las booleanas representan un tipo especial de variables que solo pueden contener el valor true o false. ASl contrario de otros lenguajes en java los valores booleanos no poseen valores numéricos donde uno es equivalente a true y 0 equivalente a false.
Nota 4 Esta línea es una línea de comentario. Los comentarios se ponen para que alguien que esta revisando el código fuente sepa lo que se esta haciendo. A la computadora no le interesa. En la clase mamífero se esta usando para indicar que se sustituirá por algo.
Nota 5 El método main es declarado de esta forma y la primera línea será siempre parecida a la vista en el programa
Nota 6 Con mamifero a = new mamifero(); se crea un nuevo objeto de la clase mamifero y almacena una referencia a este objeto en una variable llamada a. Normalmente en java no se opera directamente sobre las clases. Se crean objetos y se llama a los métodos de esos objetos para operarla.
 

Más contenido relacionado

La actualidad más candente

Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)Manuel Ch.
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Juan Carlos Espinoza
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetosBelenMonse
 
Clase8 innerclasses
Clase8 innerclassesClase8 innerclasses
Clase8 innerclassesjorg_marq
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosJoseph Bros
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)Oscar V
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Javasantosisidrorivera
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Renny Batista
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)Manuel Ch.
 
Diseño de la logica
Diseño de la logicaDiseño de la logica
Diseño de la logicaanych27
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completadoKai Exo
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 

La actualidad más candente (20)

Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.Metodos Get y Set, finalmente revelados.
Metodos Get y Set, finalmente revelados.
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
Clase8 innerclasses
Clase8 innerclassesClase8 innerclasses
Clase8 innerclasses
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
OCP, JSE 6 Programmer (1Z0-851) - Guia practica 6 de 7(Colecciones y Genericos)
 
Introduccio al Java
Introduccio al JavaIntroduccio al Java
Introduccio al Java
 
Guia poo
Guia pooGuia poo
Guia poo
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 
Guia poo
Guia pooGuia poo
Guia poo
 
Introducción a la Programaciónen Java
Introducción a la Programaciónen JavaIntroducción a la Programaciónen Java
Introducción a la Programaciónen Java
 
Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
 
Contructores en java(grupo 8)
Contructores en java(grupo 8)Contructores en java(grupo 8)
Contructores en java(grupo 8)
 
Diseño de la logica
Diseño de la logicaDiseño de la logica
Diseño de la logica
 
Herencia
HerenciaHerencia
Herencia
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Proyecto en android completado
Proyecto en android completadoProyecto en android completado
Proyecto en android completado
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 

Destacado

C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2Mariano Galvez
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVANoralma Yanez
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaDaniel Gómez
 
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOSPROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOSJAV_999
 
Protocolo de Enrutamiento RIP (Versiones 1 y 2)
Protocolo de Enrutamiento RIP (Versiones 1 y 2)Protocolo de Enrutamiento RIP (Versiones 1 y 2)
Protocolo de Enrutamiento RIP (Versiones 1 y 2)Juan Camilo Sacanamboy
 
Métodos POO
Métodos POOMétodos POO
Métodos POO1da4
 
Sistemas operativos presentacion power point
Sistemas operativos presentacion power pointSistemas operativos presentacion power point
Sistemas operativos presentacion power pointRICARDO ANTONIO ALARCON
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Sistemas operativos y sus funciones basicas
Sistemas operativos y sus funciones basicasSistemas operativos y sus funciones basicas
Sistemas operativos y sus funciones basicasjanet012
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacioncrisricguepi
 
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
 

Destacado (20)

C3 las clases en java v2
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
Tutorial neatbeans(3)
Tutorial neatbeans(3)Tutorial neatbeans(3)
Tutorial neatbeans(3)
 
Practicar metodos
Practicar metodosPracticar metodos
Practicar metodos
 
PRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVAPRIMERA PRESENTACION JAVA
PRIMERA PRESENTACION JAVA
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 
MéTodos Java
MéTodos JavaMéTodos Java
MéTodos Java
 
Métodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - AlgoritmiaMétodos y Funciones - Java - Algoritmia
Métodos y Funciones - Java - Algoritmia
 
Eventos en Java
Eventos en JavaEventos en Java
Eventos en Java
 
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOSPROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
PROTOCOLO RIP V1 Y RIP V2 - REDES DE DATOS
 
Protocolo de Enrutamiento RIP (Versiones 1 y 2)
Protocolo de Enrutamiento RIP (Versiones 1 y 2)Protocolo de Enrutamiento RIP (Versiones 1 y 2)
Protocolo de Enrutamiento RIP (Versiones 1 y 2)
 
Métodos POO
Métodos POOMétodos POO
Métodos POO
 
Sistemas operativos presentacion power point
Sistemas operativos presentacion power pointSistemas operativos presentacion power point
Sistemas operativos presentacion power point
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Sistemas operativos y sus funciones basicas
Sistemas operativos y sus funciones basicasSistemas operativos y sus funciones basicas
Sistemas operativos y sus funciones basicas
 
Sistemas operativos power point
Sistemas operativos power pointSistemas operativos power point
Sistemas operativos power point
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacion
 
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
 

Similar a C2 clases en java

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoJuan Carlos Espinoza
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnetjhordy2000
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage cLorena Sanchez
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigosHectorMamani
 
06 diagrama de clases1
06 diagrama de clases106 diagrama de clases1
06 diagrama de clases1ViReal
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Kositha Jimhiz G
 
Java basico
Java basicoJava basico
Java basicoDAPUMA
 
Programacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsProgramacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsCBTis
 

Similar a C2 clases en java (20)

programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Poo 1
Poo 1Poo 1
Poo 1
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
Clases abs e interfaces
Clases abs e interfacesClases abs e interfaces
Clases abs e interfaces
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 
Clase 4 java 2011
Clase 4 java 2011Clase 4 java 2011
Clase 4 java 2011
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
06 diagrama de clases1
06 diagrama de clases106 diagrama de clases1
06 diagrama de clases1
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
Clasesabstractaseinterfacesalexandraperez 121220190613-phpapp02
 
Java basico
Java basicoJava basico
Java basico
 
Tema2
Tema2Tema2
Tema2
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
Programacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para emsProgramacion en java_inicio apeuntes para ems
Programacion en java_inicio apeuntes para ems
 

Más de Mariano Galvez

Más de Mariano Galvez (20)

Temas y estructura para la investigación
Temas  y estructura para la investigaciónTemas  y estructura para la investigación
Temas y estructura para la investigación
 
Tema 6 planes de seguridad informatica
Tema 6 planes de seguridad informaticaTema 6 planes de seguridad informatica
Tema 6 planes de seguridad informatica
 
Tema 5 criptografia y redes
Tema 5 criptografia y redesTema 5 criptografia y redes
Tema 5 criptografia y redes
 
Tema 4 mecanismos de defensa
Tema 4 mecanismos de defensaTema 4 mecanismos de defensa
Tema 4 mecanismos de defensa
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 3 ataques
Tema 3 ataquesTema 3 ataques
Tema 3 ataques
 
Tema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridadTema 2 necesidad de la seguridad
Tema 2 necesidad de la seguridad
 
Tema 1 arquitectura de redes
Tema 1 arquitectura de redesTema 1 arquitectura de redes
Tema 1 arquitectura de redes
 
Resumen
ResumenResumen
Resumen
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
C6 java beans v2
C6  java beans v2C6  java beans v2
C6 java beans v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
C5 applets v2
C5 applets v2C5 applets v2
C5 applets v2
 
Vaadin
VaadinVaadin
Vaadin
 
Badin
BadinBadin
Badin
 
C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2C4 objeto metodos y funciones v2
C4 objeto metodos y funciones v2
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 

Último

Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...solanocortezluisalfr
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxgustavovasquezv56
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfaxelv9257
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...axelv9257
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 

Último (14)

Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...Generaciones de las Computadoras..pdf...
Generaciones de las Computadoras..pdf...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdfpresentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
presentacion_desamblado_de_una_computadora_base_a_las_normas_de_seguridad.pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

C2 clases en java

  • 1. La programación orientada a objetos java
  • 2. De la clase de ayer PREGUNTAS
  • 3.
  • 4.
  • 5.
  • 6. La programación orientada a objetos java
  • 7.
  • 8.
  • 9.
  • 10. Clases Abstracción que describe propiedades y comportamientos importantes para una aplicación e ignora lo restante. Describe un conjunto posiblemente infinito de objetos individuales. Los elementos de este conjunto tienen propiedades semejantes ( atributos ), como el comportamiento ( operaciones ) y las relaciones (ejemplo, enlaces ) con otros objetos , semejantes.
  • 11. Como una colección de campos y métodos (funciones y procedimientos) que trabajan juntos para acometer una tarea específica de programación. Clases
  • 12. Una clase es una pantilla implementada en software que describe un conjunto de objetos con atributos y comportamiento similares. Una instancia u objeto de una clase es una representación concreta y específica de una clase y que reside en la memoria del ordenador. Ejemplo Clase
  • 13. Objeto Un elemento independiente de un programa de computadora que representa un numero de recursos relacionados y es proyectado para cumplir tareas específicas.
  • 14. Atributos Los atributos son las características individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos se guardan en variables denominadas de instancia, y cada objeto particular puede tener valores distintos para estas variables.
  • 15. Comportamiento El comportamiento de los objetos de una clase se implementa mediante funciones miembro o métodos .
  • 16. Método Es un conjunto de instrucciones que realizan una determinada tarea. Son similares a las funciones de los lenguajes estructurados.
  • 17. Del mismo modo que hay variables de instancia y de clase , también hay métodos de instancia y de clase. En el primer caso, un objeto llama a un método para realizar una determinada tarea, en el segundo, el método se llama desde la propia clase . Métodos de instancia y de clase
  • 18.
  • 19.
  • 20. Crear una clase Se utiliza la palabra reservada class y a continuación el nombre de la clase. La definición de la clase se pone entre las llaves de apertura y cierre. El nombre de la clase empieza por letra mayúscula. Ejemplo: class Rectangulo{ //miembros dato //funciones miembro }
  • 21. Crear clase class mamifero { String color; String sex; boolean hambre; } Se crean tres variables de instancias. Faltan métodos. Nota Nota
  • 22. Métodos void alimentarMamifero () { If (hambre == true) { System.out.printl (“dale comida al animalito”); hambre=false; }else System.out.printl (“El animal esta en forma”); } // Hay mas
  • 23. class mamifero { String color; String sex; boolean hambre; } void alimentarMamifero () { If (hambre == true) { System.out.printl (“dale comida al animalito”); hambre=false; }else System.out.printl (“El animal esta en forma”); } //Hay mas Hasta ahora tenemos
  • 24. Falta un método void showAttributes () { System.out.printl (“Este es un” + sexo+”” +color+”mamifero”); If (hambre == true) System.out.printl (“El animal esta con hambre”); else System.out.printl (“El animal esta lleno”); }
  • 25. class mamífero { String color; String sex; boolean hambre; } void alimentarMamifero () { If (hambre == true) { System.out.printl (“dale comida al animalito”); hambre=false; }else System.out.printl (“El animal esta en forma”); } void showAttributes () { System.out.printl (“Este es un” + sexo+”” +color+”mamifero”); If (hambre == true) System.out.printl (“El animal esta con hambre”); else System.out.printl (“El animal esta lleno”); }
  • 26. Ejecutar el programa mamifero.class Producirá un error del tipo: In class mamifero :void main (string []) is not defined. Ocurre porque el interpretador asume que se trata de una aplicación, cuando se intenta ejecutar en la línea de comando.
  • 27.
  • 28. Los miembros dato Los valores de los atributos se guardan en los miembros dato o variables de instancia. Los nombres de dichas variables comienzan por letra minúscula, como ya hemos visto.
  • 29.
  • 30.
  • 31. Ámbito de una variable No se puede declarar una variable con el mismo nombre que una de ámbito exterior. Ejemplo. En C y C++ son distintas, porque están declaradas dentro de ámbitos diferentes. En Java, esto es ilegal. Class Ambito { int i = 1; // ámbito exterior { // crea un nuevo ámbito int i = 2; // error de compilación } }
  • 32. Vamos a crear otra clase denominada Rectángulo, que describa las características comunes a estas figuras planas que son las siguientes: El origen del rectángulo: el origen o posición de la esquina superior izquierda del rectángulo en el plano determinado por dos números enteros x e y. Las dimensiones del rectángulo: ancho y alto, otros dos números enteros Otro ejemplo
  • 33. class Rectangulo{ int x; int y; int ancho; int alto; //faltan las funciones miembro } Clase rectángulo
  • 34. Las funciones miembro En el lenguaje C++ las funciones miembro se declaran, se definen y se llaman. En el lenguaje Java las funciones miembro o métodos solamente se definen y se llaman. Como ya vimos el nombre de las funciones miembro o métodos comienza por letra minúscula y deben sugerir acciones (mover, calcular, etc.).
  • 35. Forma general tipo nombreFuncion(tipo parm1, tipo parm2, tipo parm3){ //...sentencias } Entre las llaves de apertura y cierre se coloca la definición de la función. tipo indica el tipo de dato que puede ser predefinido int, double, etc, o definido por el usuario, una clase cualquiera.
  • 36. Llamar a un función miembro o método retorno=objeto.nombreFuncion(arg1, arg2, arg3); Cuando se llama a la función, los argumentos arg1, arg2, arg3 se copian en los parámetros parm1, parm2, parm3 y se ejecutan las sentencias dentro de la función. La función finaliza cuando se llega al final de su bloque de definición o cuando encuentra una sentencia return. Cuando se llama a la función, el valor devuelto mediante la sentencia return se asigna a la variable retorno.
  • 37. Cuando una función no devuelve nada se dice que es de tipo void. void funcion(....){ //sentencias... } VOID
  • 38. Puede finalizar antes del llegar al final de su definición void funcion(....){ //sentencias... if(condicion) return; //sentencias.. } Una función
  • 39. Puede devolver un valor (un tipo de dato primitivo o un objeto). double funcion(....){ double suma=0.0; //sentencias... return suma; } Una función
  • 40. Cualquier variable declarada dentro de la función tiene una vida temporal, existiendo en memoria, mientras la función esté activa. Se trata de variables locales a la función. Por ejemplo: void nombreFuncion(int parm){ //... int i=5; //... } La variable parm, existe desde el comienzo hasta el final de la función. La variable local i, existe desde el punto de su declaración hasta el final del bloque de la función. Vida de las variables
  • 41. EJEMPLO: La clase Rectángulo Calcular el área: class Rectangulo{ int x; int y; int ancho; int alto; int calcularArea(){ return (ancho*alto); } }
  • 42. La función no devuelve nada es de tipo void. class Rectangulo{ int x; int y; int ancho; int alto; void desplazar(int dx, int dy){ x+=dx; y+=dy; } } Desplazar el rectángulo
  • 43. La función que determina si un punto está o no en el interior del rectángulo, devolverá true si el punto se encuentra en el interior del rectángulo y devolverá false si no se encuentra, es decir, será una función del tipo boolean . La función necesitará conocer las coordenadas de dicho punto. Determinar si un punto pertenece a un rectángulo
  • 44. Para que un punto de coordenadas x1 e y1 esté dentro de un rectángulo cuyo origen es x e y, y cuyas dimensiones son ancho y alto, se deberá cumplir a la vez cuatro condiciones x1>x y a la vez x1<x+ancho También se debe cumplir y1>y y a la vez y1<y+alto Como se tienen que cumplir las cuatro condiciones a la vez, se unen mediante el operador lógico AND simbolizado por &&. Para ello
  • 45. class Rectangulo{ int x; int y; int ancho; int alto; boolean estaDentro(int x1, int y1){ if((x1>x)&&(x1<x+ancho)&&(y1>y)&&(y1<y+alto)) { return true; } return false; } } Solución
  • 46. Herencia Con la herencia definiremos nuevas clases ( subclases ) a partir de clases ya existentes ( superclases ) adaptando el código de esta última o añadiendo nuevo código pero “sin tocar” la clase original, es decir sin afectar la funcionalidad ya existente para la superclase .
  • 47. Herencia La herencia permite expresar jerarquías de tipos que favorecen un mejor modelado y diseño a la vez que permiten obtener mas flexibilidad gracias al polimorfismo y el principio de sustitución
  • 48. ¿ Cómo se dice en java que una clase está heredando de otra? class nombreSubClase extends nombreSuperClase { ...... }
  • 49. abstract Una clase abstract tiene al menos un método abstracto. Una clase abstracta no se instancia, sino que se utiliza como clase base para la herencia. final Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final. Por ejemplo, la clase Math es una clase final. public Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas. Tipos de clases
  • 50. Resumen Clase : Un modelo para un objeto que contiene variables para describirlos y métodos para describir como ellos se comportan. Las clases pueden heredar variables y métodos de otras clases. Objeto: Una instancia de una clase. Varios objetos que sean instancia de la misma clase tienen acceso a los mismos métodos, pero frecuente mente tienen valores diferentes para sus variables.
  • 51. Método: Un grupo de instrucciones en una clase que define como los los objetos de la clase se comportan. Los métodos son análogos a las funciones en otros lenguajes, pero siempre deben estar localizados dentro de una clase. Método de instancia, variable de clase, variable de instancia Resumen
  • 52. Fin de la clase Próximo tema: Clases y superclases
  • 53. Nota 1 En el lenguaje Java, si la primera condición es falsa no se evalúan las restantes expresiones ya que el resultado es false. Ahora bien, si la primera es verdadera true, se pasa a evaluar la segunda, si ésta es falsa el resultado es false, y así sucesivamente.
  • 54. Nota 2 Un String es un termino genérico que significa un grupo de caracteres, pero un objeto String es creado en Java usando una de las clases patrones de Java. Una clase String es usada para almacenamiento de texto y para muchas funciones de tratamiento de texto .
  • 55. Nota 3 Las booleanas representan un tipo especial de variables que solo pueden contener el valor true o false. ASl contrario de otros lenguajes en java los valores booleanos no poseen valores numéricos donde uno es equivalente a true y 0 equivalente a false.
  • 56. Nota 4 Esta línea es una línea de comentario. Los comentarios se ponen para que alguien que esta revisando el código fuente sepa lo que se esta haciendo. A la computadora no le interesa. En la clase mamífero se esta usando para indicar que se sustituirá por algo.
  • 57. Nota 5 El método main es declarado de esta forma y la primera línea será siempre parecida a la vista en el programa
  • 58. Nota 6 Con mamifero a = new mamifero(); se crea un nuevo objeto de la clase mamifero y almacena una referencia a este objeto en una variable llamada a. Normalmente en java no se opera directamente sobre las clases. Se crean objetos y se llama a los métodos de esos objetos para operarla.
  • 59.