SlideShare una empresa de Scribd logo
Programación
Orientada a
Objetos -Java
Parte 1
FERNANDO SOLIS
2
Clases y Objetos
– Estructura de una clase
– Atributos de instancia y de clase (static)
– Control de acceso.
– Métodos
– Creación de objetos: constructores e inicialización
– this
– main
– Paquetes
– Comentarios y documentación (javadoc)
El lenguaje de programación Java 3
Estructura de una clase
class NombreDeLaClase {
// declaración de las variables de instancia
// declaración de las variables de la clase
metodoDeInstancia() {
// variables locales
// código
}
metodoDeClase() {
// variables locales
// código
}
}
• Todo forma parte de una clase
• Java NO soporta funciones o variables GLOBALES
4
Clases definidas por usuario
Partamos con un ejemplo; en el archivo Auto.java se tiene:
public class Auto {
public String nombre;
public int construccion;
public float rendimiento;
}
Podemos entonces escribir un programa que use esto:
public class Programa {
public static void main(String args[]) {
Auto miAuto1 = new Auto(); // el constructor clase()
es gratis!
miAuto1.nombre = “Volkswagen”; //porque es public
!!!!
miAuto1.construccion = 1994;
miAuto1.rendimiento = 9.65;
System.out.println(“mi auto es un “+miAuto1.nombre+
“fue construido el
“+miAuto1.construccion+
“y gasta “+rendimiento+”litros cada
100km”);
} }
5
Clases Abstractas
• Son clases de las cuales no se pueden crear directamente
objetos. Están destinadas a ser superclases de otras.
Definen un conjunto de atributos comunes para todas las
clases derivadas.
abstract class Personal {
int numero; String nombre; int ingreso;
public Personal(int num, String nom){
numero=num; nombre=nom;
}
public abstract int sueldoBruto(); //implementar en clase
derivada
}
El lenguaje de programación Java 6
Atributos
– Atributos de clase:
• Común a todas las instancias de una clase
• Sólo se inicializan una vez.
Ej: static public int nextCodigo;
– Atributos de instancia:
• determina el estado de los objetos
• cada objeto reserva memoria para todas las variables de instancia
• Declaración:
[acceso][static][final] tipo nombreAtributo [= valor_inicial];
El lenguaje de programación Java 7
Inicialización de los atributos
• Si un atributo no se inicializa se le asigna un valor por
defecto en función de su tipo:
Tipo Valor Inicial
boolean false
char ‘u000’
byte,short,int,long 0
float +0.0f
double +0.0d
Referencia a objeto null
El lenguaje de programación Java 8
Control de acceso
• public – los miembros que se declaran como public
son accesibles en cualquier parte donde la clase sea
accesible
• private – miembros declarados como private sólo
accesibles en la propia clase
public class A{
public int at1;
private int at2;
…
}
• Atributos privados y acceso a través de métodos públicos
(set/get)
A a;
//creamos el objeto
a.at1 = 6 //OK
a.at2 = 5 //ERROR
9
Métodos
• Código que “entiende” y manipula el estado de un objeto
• Pueden ser llamados dentro de la clase o por otras clases
• Es obligatorio indicar el tipo de retorno o void
• Declaración:
[acceso][static] tipoRetorno nomMet ([argumentos]){
//cuerpo del metodo
[return valorRetorno;]
}
• Invocación: Notación punto
objReceptor.nomMet(argumentos);
El lenguaje de programación Java 10
Métodos de clase
• Se invocan sobre la clase, no sobre un objeto
• Sólo puede acceder a las variables y métodos de clase
(static)
• Ejemplos:
1. int i = Integer.parseInt(“123”);
2. public class Ejemplo{
static private int at;
static public int getAt(){
return at;
}
}
Se invoca Ejemplo.getAt();
11
Métodos
• Java soporta sobrecarga de métodos
– el mismo nombre pero con DIFERENTE lista de argumentos
– SIEMPRE devuelven el mismo tipo
public class ListaEnteros{
…
public void add (int elem){…}
public void add (int elem, int index){…}
}
• Paso de parámetros siempre por valor
– los valores de los parámetros son copias de los valores que especifica el que
lo invoca
– tipos primitivos no cambian
– los objetos pueden cambiar su estado  se pasa por valor la referencia
El lenguaje de programación Java 12
Paso de parámetros
public class Contador {
int valor;
…
public void sincronizar(Contador c){
c.setValor(valor);
}
}
23 valorc1
c
Se puede modificar el estado del objeto
pero no la referencia
c2
45 valor
c1.sincroniza(c2);
23
c=c2
13
Métodos de una Clase
• Son los que tienen la responsabilidad de:
- Entregar datos acerca del objeto
- Modificar datos dentro del objeto (especialmente si las componenetes
del objeto no fueron declarados como public)
- Crear un nuevo objeto (constructores)
• Los métodos pueden ser públicos, privados o protegidos
(public, private, protected), al igual que
las compoenetes
- pirvate: implica que pueden ser vistas sólo en la clase actual. Son
invisibles incluso para clases derivadas de esta.
- protected: implica que pueden ser vistas por las derivadas. Tambien
son vistas dentro del paquete (agrupación de clases en un archivo).
Este es eldefault.
- public:son vistas desde cualquier lado.
14
Más sobre métodos
• Los métodos dinámicos (sobre objetos) se invocan:
variableObjeto.nombreMétodo(parametro1,..,parámetroN)
Ej: miAuto.cambiaConstruccion(1999)
• En el caso de los métodos estáticos:
NombreClase.nombreMétodo(parámetro1,..,parámetroN)
Ej: int i = AutoColeccion.cuantos()
• En Java existe la clase Math cuya función más importante es proveer al
leguage de los métodos matemáticos típicos:
Math.sqr(x), Math.sin(x), Math.max(x,y), Math.pow(x,y)
• El paso de parámetros es siempre por valor, salvo en el caso de objetos
y arreglos, que es por referencia (se pasa una copia del puntero al
objeto)
• main es un método estático de una clase !!!!!

Más contenido relacionado

La actualidad más candente

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
Renny Batista
 
Multiple Inheritance
Multiple InheritanceMultiple Inheritance
Multiple Inheritance
BhavyaJain137
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
Alvaro Enrique Ruano
 
Functional programming
Functional programmingFunctional programming
Functional programming
Lhouceine OUHAMZA
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
Cesar David Fernandez Grueso
 
Programacion orientada objeto (poo)
Programacion orientada objeto (poo)Programacion orientada objeto (poo)
Programacion orientada objeto (poo)
YamilethRivas3
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Object oriented programming in python
Object oriented programming in pythonObject oriented programming in python
Object oriented programming in python
baabtra.com - No. 1 supplier of quality freshers
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
Uniminuto - San Francisco
 
Java Annotations
Java AnnotationsJava Annotations
Java Annotations
Serhii Kartashov
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Tushar B Kute
 
Collections and generics
Collections and genericsCollections and generics
Collections and generics
Muthukumaran Subramanian
 
Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cachero
Luis R Castellanos
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a Objetos
Franklin Parrales Bravo
 
Javapolymorphism
JavapolymorphismJavapolymorphism
Javapolymorphism
karthikenlume
 
Arrays in Java
Arrays in JavaArrays in Java
Arrays in Java
Naz Abdalla
 

La actualidad más candente (20)

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
 
Multiple Inheritance
Multiple InheritanceMultiple Inheritance
Multiple Inheritance
 
pruebas de cajas blanca
 pruebas de cajas blanca pruebas de cajas blanca
pruebas de cajas blanca
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Restricciones bd
Restricciones bdRestricciones bd
Restricciones bd
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion orientada objeto (poo)
Programacion orientada objeto (poo)Programacion orientada objeto (poo)
Programacion orientada objeto (poo)
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Object oriented programming in python
Object oriented programming in pythonObject oriented programming in python
Object oriented programming in python
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Java Annotations
Java AnnotationsJava Annotations
Java Annotations
 
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B KuteChapter 02: Classes Objects and Methods Java by Tushar B Kute
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
 
Collections and generics
Collections and genericsCollections and generics
Collections and generics
 
Orientacion a objetos cristina cachero
Orientacion a objetos   cristina cacheroOrientacion a objetos   cristina cachero
Orientacion a objetos cristina cachero
 
POO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a ObjetosPOO Unidad 2: Programación Orientada a Objetos
POO Unidad 2: Programación Orientada a Objetos
 
Javapolymorphism
JavapolymorphismJavapolymorphism
Javapolymorphism
 
Vectors in Java
Vectors in JavaVectors in Java
Vectors in Java
 
Arrays in Java
Arrays in JavaArrays in Java
Arrays in Java
 
Constructor
ConstructorConstructor
Constructor
 

Similar a Programacion orientada a objetos 1

Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributosRobert Wolf
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
mellcv
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
202100941c
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
Rulox Quiñones
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
da4
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
Daniel Gomez Jaramillo
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
Angel Vázquez Patiño
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
FamiliaAyluardo
 
Poo 1
Poo 1Poo 1
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
Rodrigo Lara
 
UD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdfUD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdf
ChiquteRobledo
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
Rodrigo Lara
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
Rodrigo Lara
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
NEQUIZ URIEL
 
Cuestionario
Cuestionario Cuestionario

Similar a Programacion orientada a objetos 1 (20)

Clases metodos y atributos
Clases metodos y atributosClases metodos y atributos
Clases metodos y atributos
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación 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
 
secme-23192.pdf
secme-23192.pdfsecme-23192.pdf
secme-23192.pdf
 
Unidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetosUnidad 2 poo_clases_y_objetos
Unidad 2 poo_clases_y_objetos
 
Propiedades De La Poo
Propiedades De La PooPropiedades De La Poo
Propiedades De La Poo
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Poo 1
Poo 1Poo 1
Poo 1
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
UD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdfUD2-ConceptosBasicos.pdf
UD2-ConceptosBasicos.pdf
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
Cuestionario poo
Cuestionario pooCuestionario poo
Cuestionario poo
 
Cuestionario
Cuestionario Cuestionario
Cuestionario
 

Más de mellcv

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
mellcv
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIAS
mellcv
 
Asp .net
Asp .netAsp .net
Asp .net
mellcv
 
Asp
AspAsp
Asp
mellcv
 
Eventos
EventosEventos
Eventos
mellcv
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
mellcv
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentes
mellcv
 
Poc 2
Poc 2Poc 2
Poc 2
mellcv
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
mellcv
 
Poc
PocPoc
Poc
mellcv
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
mellcv
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
mellcv
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
mellcv
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
mellcv
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVA
mellcv
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
mellcv
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
mellcv
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
mellcv
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage java
mellcv
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows forms
mellcv
 

Más de mellcv (20)

INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓNINTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
INTERACCIÓN ENTRE CLASES, GENERALIZACIÓN
 
INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIAS
 
Asp .net
Asp .netAsp .net
Asp .net
 
Asp
AspAsp
Asp
 
Eventos
EventosEventos
Eventos
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentes
 
Poc 2
Poc 2Poc 2
Poc 2
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Poc
PocPoc
Poc
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentes
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVA
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVA
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESO
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVA
 
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMAENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
ENTORNO DE DESARROLLO, ESTRUTURA GENERAL DE UN PROGRAMA
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptos
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
Introduccion al lenguage java
Introduccion al lenguage javaIntroduccion al lenguage java
Introduccion al lenguage java
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows forms
 

Último

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
44652726
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
jjfch3110
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 

Último (20)

Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 

Programacion orientada a objetos 1

  • 2. 2 Clases y Objetos – Estructura de una clase – Atributos de instancia y de clase (static) – Control de acceso. – Métodos – Creación de objetos: constructores e inicialización – this – main – Paquetes – Comentarios y documentación (javadoc)
  • 3. El lenguaje de programación Java 3 Estructura de una clase class NombreDeLaClase { // declaración de las variables de instancia // declaración de las variables de la clase metodoDeInstancia() { // variables locales // código } metodoDeClase() { // variables locales // código } } • Todo forma parte de una clase • Java NO soporta funciones o variables GLOBALES
  • 4. 4 Clases definidas por usuario Partamos con un ejemplo; en el archivo Auto.java se tiene: public class Auto { public String nombre; public int construccion; public float rendimiento; } Podemos entonces escribir un programa que use esto: public class Programa { public static void main(String args[]) { Auto miAuto1 = new Auto(); // el constructor clase() es gratis! miAuto1.nombre = “Volkswagen”; //porque es public !!!! miAuto1.construccion = 1994; miAuto1.rendimiento = 9.65; System.out.println(“mi auto es un “+miAuto1.nombre+ “fue construido el “+miAuto1.construccion+ “y gasta “+rendimiento+”litros cada 100km”); } }
  • 5. 5 Clases Abstractas • Son clases de las cuales no se pueden crear directamente objetos. Están destinadas a ser superclases de otras. Definen un conjunto de atributos comunes para todas las clases derivadas. abstract class Personal { int numero; String nombre; int ingreso; public Personal(int num, String nom){ numero=num; nombre=nom; } public abstract int sueldoBruto(); //implementar en clase derivada }
  • 6. El lenguaje de programación Java 6 Atributos – Atributos de clase: • Común a todas las instancias de una clase • Sólo se inicializan una vez. Ej: static public int nextCodigo; – Atributos de instancia: • determina el estado de los objetos • cada objeto reserva memoria para todas las variables de instancia • Declaración: [acceso][static][final] tipo nombreAtributo [= valor_inicial];
  • 7. El lenguaje de programación Java 7 Inicialización de los atributos • Si un atributo no se inicializa se le asigna un valor por defecto en función de su tipo: Tipo Valor Inicial boolean false char ‘u000’ byte,short,int,long 0 float +0.0f double +0.0d Referencia a objeto null
  • 8. El lenguaje de programación Java 8 Control de acceso • public – los miembros que se declaran como public son accesibles en cualquier parte donde la clase sea accesible • private – miembros declarados como private sólo accesibles en la propia clase public class A{ public int at1; private int at2; … } • Atributos privados y acceso a través de métodos públicos (set/get) A a; //creamos el objeto a.at1 = 6 //OK a.at2 = 5 //ERROR
  • 9. 9 Métodos • Código que “entiende” y manipula el estado de un objeto • Pueden ser llamados dentro de la clase o por otras clases • Es obligatorio indicar el tipo de retorno o void • Declaración: [acceso][static] tipoRetorno nomMet ([argumentos]){ //cuerpo del metodo [return valorRetorno;] } • Invocación: Notación punto objReceptor.nomMet(argumentos);
  • 10. El lenguaje de programación Java 10 Métodos de clase • Se invocan sobre la clase, no sobre un objeto • Sólo puede acceder a las variables y métodos de clase (static) • Ejemplos: 1. int i = Integer.parseInt(“123”); 2. public class Ejemplo{ static private int at; static public int getAt(){ return at; } } Se invoca Ejemplo.getAt();
  • 11. 11 Métodos • Java soporta sobrecarga de métodos – el mismo nombre pero con DIFERENTE lista de argumentos – SIEMPRE devuelven el mismo tipo public class ListaEnteros{ … public void add (int elem){…} public void add (int elem, int index){…} } • Paso de parámetros siempre por valor – los valores de los parámetros son copias de los valores que especifica el que lo invoca – tipos primitivos no cambian – los objetos pueden cambiar su estado  se pasa por valor la referencia
  • 12. El lenguaje de programación Java 12 Paso de parámetros public class Contador { int valor; … public void sincronizar(Contador c){ c.setValor(valor); } } 23 valorc1 c Se puede modificar el estado del objeto pero no la referencia c2 45 valor c1.sincroniza(c2); 23 c=c2
  • 13. 13 Métodos de una Clase • Son los que tienen la responsabilidad de: - Entregar datos acerca del objeto - Modificar datos dentro del objeto (especialmente si las componenetes del objeto no fueron declarados como public) - Crear un nuevo objeto (constructores) • Los métodos pueden ser públicos, privados o protegidos (public, private, protected), al igual que las compoenetes - pirvate: implica que pueden ser vistas sólo en la clase actual. Son invisibles incluso para clases derivadas de esta. - protected: implica que pueden ser vistas por las derivadas. Tambien son vistas dentro del paquete (agrupación de clases en un archivo). Este es eldefault. - public:son vistas desde cualquier lado.
  • 14. 14 Más sobre métodos • Los métodos dinámicos (sobre objetos) se invocan: variableObjeto.nombreMétodo(parametro1,..,parámetroN) Ej: miAuto.cambiaConstruccion(1999) • En el caso de los métodos estáticos: NombreClase.nombreMétodo(parámetro1,..,parámetroN) Ej: int i = AutoColeccion.cuantos() • En Java existe la clase Math cuya función más importante es proveer al leguage de los métodos matemáticos típicos: Math.sqr(x), Math.sin(x), Math.max(x,y), Math.pow(x,y) • El paso de parámetros es siempre por valor, salvo en el caso de objetos y arreglos, que es por referencia (se pasa una copia del puntero al objeto) • main es un método estático de una clase !!!!!