SlideShare ist ein Scribd-Unternehmen logo
1 von 14
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 !!!!!

Weitere ähnliche Inhalte

Was ist angesagt?

Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
UDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla AvanzadaUDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla AvanzadaAnder Martinez
 
UDA-Plugin UDA. Guia de uso del plugin.
UDA-Plugin UDA. Guia de uso del plugin.UDA-Plugin UDA. Guia de uso del plugin.
UDA-Plugin UDA. Guia de uso del plugin.Ander Martinez
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
Collections in Java
Collections in JavaCollections in Java
Collections in JavaKhasim Cise
 
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
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepGuo Albert
 
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
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - JavaDrishti Bhalla
 
Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Software Guru
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetosRenny Batista
 

Was ist angesagt? (20)

patron composite
patron compositepatron composite
patron composite
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Semana 6 Bases de Datos Relacionales
Semana 6   Bases de Datos RelacionalesSemana 6   Bases de Datos Relacionales
Semana 6 Bases de Datos Relacionales
 
UDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla AvanzadaUDA-Componentes RUP. Tabla Avanzada
UDA-Componentes RUP. Tabla Avanzada
 
3. Modelo Relacional
3. Modelo Relacional3. Modelo Relacional
3. Modelo Relacional
 
UDA-Plugin UDA. Guia de uso del plugin.
UDA-Plugin UDA. Guia de uso del plugin.UDA-Plugin UDA. Guia de uso del plugin.
UDA-Plugin UDA. Guia de uso del plugin.
 
Polimorfismo y herencia
Polimorfismo y herenciaPolimorfismo y herencia
Polimorfismo y herencia
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
Collections in Java
Collections in JavaCollections in Java
Collections in Java
 
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
 
Java Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By StepJava Persistence API (JPA) Step By Step
Java Persistence API (JPA) Step By Step
 
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
 
Herencia poo
Herencia pooHerencia poo
Herencia poo
 
Collections Api - Java
Collections Api - JavaCollections Api - Java
Collections Api - Java
 
Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?Pruebas de Servicios Web, ¿Codificar o No Codificar?
Pruebas de Servicios Web, ¿Codificar o No Codificar?
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Java packages
Java packagesJava packages
Java packages
 
Factory Method Pattern
Factory Method PatternFactory Method Pattern
Factory Method Pattern
 
Delegates and events
Delegates and events   Delegates and events
Delegates and events
 
Introducción a la programación orientada objetos
Introducción a la programación orientada objetosIntroducción a la programación orientada objetos
Introducción a la programación orientada objetos
 

Ähnlich wie Programacion orientada a objetos 1

Ähnlich wie 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
 
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
 
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
 
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
 

Mehr von mellcv

INTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASINTERACCIÓN ENTRE CLASES, HERENCIAS
INTERACCIÓN ENTRE CLASES, HERENCIASmellcv
 
Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Eventos
EventosEventos
Eventosmellcv
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESmellcv
 
Arquitectura basada en componentes
Arquitectura basada en componentesArquitectura basada en componentes
Arquitectura basada en componentesmellcv
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentesmellcv
 
Programacion orientada a componentes
Programacion orientada a componentesProgramacion orientada a componentes
Programacion orientada a componentesmellcv
 
PAQUETES EN JAVA
PAQUETES EN JAVAPAQUETES EN JAVA
PAQUETES EN JAVAmellcv
 
EXCEPCIONES JAVA
EXCEPCIONES JAVAEXCEPCIONES JAVA
EXCEPCIONES JAVAmellcv
 
MODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOMODIFICADORES Y METODOS DE ACCESO
MODIFICADORES Y METODOS DE ACCESOmellcv
 
INSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAINSTANCIAS Y CONSTRUCTORES EN JAVA
INSTANCIAS Y CONSTRUCTORES EN JAVAmellcv
 
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 PROGRAMAmellcv
 
Lenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosLenguaje de programacion java, conceptos
Lenguaje de programacion java, conceptosmellcv
 
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 javamellcv
 
Programar aplicaciones windows forms
Programar aplicaciones windows formsProgramar aplicaciones windows forms
Programar aplicaciones windows formsmellcv
 
Procedimientos y funciones 3
Procedimientos y funciones 3Procedimientos y funciones 3
Procedimientos y funciones 3mellcv
 

Mehr von mellcv (20)

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
 
Procedimientos y funciones 3
Procedimientos y funciones 3Procedimientos y funciones 3
Procedimientos y funciones 3
 

Kürzlich hochgeladen

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 

Kürzlich hochgeladen (13)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 

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 !!!!!