SlideShare una empresa de Scribd logo
PROGRAMACIÓN
ORIENTADA A
OBJETOS
Curso de programación orientada a objetos con java
Universidad Técnica Particular de Loja – Ecuador
Daniel Irene – pdirene@gmail.com
AGENDA
üQue es programación orientada a
objetos (Clases, Objetos, métodos y variables de instancia).
üAtributos (primitivos/por referencia), niveles de
acceso (public, private, protected, static) e
inicialización (final, this)
üMétodos, propiedades (set, get),
constructores y sobrecarga.
üEncapsulamiento, ocultamiento y
paquetes.
Traduce a todo el mundo real, invisible o
invisible como un objeto, el cual tiene
atributos que lo describen, métodos
(acciones) que le dan un sentido y
mensajes para comunicarse de un
objeto a otro; todo ello de manera
abstraída en una clase.
PARADIGMA DE LA
PROGRAMACIÓN
ORIENTADA A
OBJETOS
http://www.howdesign.com/web-design-resources-technology/how-to-present-creative-ideas-to-clients/
ATRIBUTOS
•color
•velocidad
•ruedas
•motor
•puertas
METODOS
•arrancar()
•frenar()
•reparar()
•lavar()
OBJETO
auto
ATRIBUTOS
•sexo
•edad
•estatura
•peso
•numero de identidad
METODOS
•respirar()
•caminar()
•alimentar()
•investigar()
OBJETO
persona
ATRIBUTOS
•nombre
•naturaleza
•gerente
•direccion
•numero de empleados
METODOS
•servir()
•contratar()
•cancelar()
•cobra()
•despedir()
OBJETO
empresa
Una clase es el molde para crear
objetos, abstrae los datos (atributos) y
operaciones (métodos) de un objeto a
modo de caja negra (ejemplo en libro base:
conducción de un vehículo).
PROGRAMACIÓN
ORIENTADA A OBJETOS
¿QUE ES UNA CLASE?
CLASES
CLASE = Aeronave CLASE = Vehículo
CLASE = Transporte
otros
Aeronave
Vehículo
CLASES
CLASE = Mujer CLASE = Hombre
CLASE = Humanos
otros
mujer
hombre
CLASES
CLASE = Empresa Publica CLASE = Empresa Privada
CLASE = Empresa
otras
publica
privada
Gráficamente una clase en UML es un
rectángulo dividido en tres partes
donde la (1) es el nombre de la clase;
(2) los atributos con niveles de acceso
+publico -privado y #protegido y (3)
son los métodos con niveles de acceso
+publico -privado y #protegido.
NOMENCLATURA
UML DE UNA CLASE
1
2
3
1
2
3
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Métodos (void), funciones (return)
public void respirar() {
estado = "respirando";
}
protected void caminar() {
estado = "caminando";
}
private void alimentar() {
estado = "alimentando";
}
public String investigar() {
estado = "investigando";
return estado;
}
}
1
2
3
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Métodos (void), funciones (return)
public void respirar() {
estado = "respirando";
}
protected void caminar() {
estado = "caminando";
}
private void alimentar() {
estado = "alimentando";
}
public String investigar() {
estado = "investigando";
return estado;
}
}
class TestPersona{
public static void main(String[] args) {
Personas personaA = new Personas();
Personas personaB = new Personas();
Personas personaC = new Personas();
personaA.sexo = "Masculino";
personaA.caminar();
System.out.println("personaA d sexo <"
+personaA.sexo+"> esta <"
+personaA.estado+">");
}
}
Output - NomProyecto (run)
C:>cd C:FolderMisJava
C:FolderMisJava>javac Personas.java
C:FolderMisJava>java TestPersona
personaA d sexo <Masculino> esta <caminando>
C:FolderMisJava>
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Métodos (void), funciones (return)
public void respirar() {
estado = "respirando";
}
protected void caminar() {
estado = "caminando";
}
private void alimentar() {
estado = "alimentando";
}
public String investigar() {
estado = "investigando";
return estado;
}
}
class TestPersona{
public static void main(String[] args) {
Personas personaA = new Personas();
Personas personaB = new Personas();
Personas personaC = new Personas();
personaA.sexo = "Masculino";
personaA.caminar();
System.out.println("personaA d sexo <"
+personaA.sexo+"> esta <"
+personaA.estado+">");
}
}
Personas personaA = new Personas();
Personas personaB = new Personas();
Personas personaC = new Personas();
Nombre
de la clase
Nombre
del objeto
Invoca al
constructor
Nombre del
constructor
Lo +public: es accesibles dentro/fuera
de la clase, a través del objeto que la
instancia; lo -private: es accesibles
solo dentro de la misma clase
(ocultamiento de información) y lo
#protected: dentro de la clase y otras
que pertenezcan al mismo paquete.
NIVELES O
MODIFICADORES DE
ACCESO
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Métodos (void), funciones (return)
public void respirar() {
estado = "respirando";
}
protected void caminar() {
estado = "caminando";
}
private void alimentar() {
estado = "alimentando";
}
public String investigar() {
estado = "investigando";
return estado;
}
}
class TestPersona{
public static void main(String[] args) {
Personas personaA = new Personas();
Personas personaB = new Personas();
Personas personaC = new Personas();
personaA.sexo = "Masculino";
personaA.caminar();
System.out.println("personaA d sexo <"
+personaA.sexo+"> esta <"
+personaA.estado+">");
}
}
ü personaA.estatura = 175.5;
ü personaA.numIdentidad = 1105467862;
× personaA.peso = 70;
+
-
#
Existen dos tipo (nombres) de métodos genéricos para
inicializar los valores de lo cada atributo de una
clase:
ü set: para inicializar los atributos con un valor
determinado
ü get: para obtener dichos valores.
El constructor de la clase: método especial que
inicializa todos (o algunos de) sus atributos. Si la clase
que no tiene uno, el compilador crea uno vacío por
defecto; si ya se especifica uno, no se crea el vacío
por defecto.
CONSTRUCTOR Y
MÉTODOS DE
ACCESO A
ATRIBUTOS DE LA
CLASE
Output - NomProyecto (run)
Peso de PersonaA <70.0>
Peso de PersonaB <75.0>
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}
class TestPersona{
public static void main(String[] args) {
Persona personaA = new Persona();
Persona personaB = new Persona("M",34,170,
75,1105678432,"Activo");
personaA.setPeso(70);
System.out.println("Peso de PersonaA "
+ "<"+personaA.getPeso()+">");
System.out.println("Peso de PersonaB "
+ "<"+personaB.getPeso()+">");
}
}
public class Persona {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Constructores
public Persona() { }
public Persona(String sexo, double edad,
double estatura, double peso,
int numIdentidad, String estado) {
this.sexo = sexo;
this.edad = edad;
this.estatura = estatura;
this.peso = peso;
this.numIdentidad = numIdentidad;
this.estado = estado;
}
//Métodos SET (void), funciones GET (return)
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
Las variables que se
declaran en el cuerpo
de un método
específico se conocen
como variables
locales, y sólo se
pueden utilizar en
ese método.
Los
atributos/campos
de la clase se
conocen como
variables globales, y
son accesibles en
todo el cuerpo de la
clase.
Por lo general los
valores de los
atributos de una
clase se inicializan
dentro del
constructor de la
clase.
“
”
Tipos primitivos de
datos: boolean, byte,
char, short, int, long,
float y double
Tipos de datos por
referencia: String, o
cualquier otro
objetivo que apunte
a una clase, son
tipos de dato no
primitivos.
Toda clase
que usted
declara
representa
un nuevo
tipo en Java.
“
”
public class Persona {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Constructores
public Persona() { }
public Persona(String sexo, double edad,
double estatura, double peso,
int numIdentidad, String estado) {
this.sexo = sexo;
this.edad = edad;
this.estatura = estatura;
this.peso = peso;
this.numIdentidad = numIdentidad;
this.estado = estado;
}
//Métodos SET (void), funciones GET (return)
public String getSexo() {
return sexo;
}
public void setSexo(String sexo) {
this.sexo = sexo;
}
public String getEstado() {
return estado;
}
public void setEstado(String estado) {
this.estado = estado;
}
}
class TestPersona{
public static void main(String[] args) {
Persona personaA = new Persona();
Persona personaB = new Persona("M",34,170,
75,1105678432,"Activo");
personaA.setPeso(70);
System.out.println("Peso de PersonaA "
+ "<"+personaA.getPeso()+">");
System.out.println("Peso de PersonaB "
+ "<"+personaB.getPeso()+">");
}
}
# datos primitivo: 4
# datos por referencia: 4
# nuevos tipos: 1
Si un método contiene una variable
local con el mismo nombre que uno
de los campos de su clase, la
variable local oculta el campo en el
alcance del método. El método
puede usar la referencia this para
hacer referencia al campo oculto en
forma explícita.
PREFIJO THIS
PARA INSTANCIAR
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Constructores
public Personas() { }
//Métodos SET (void), funciones GET (return)
public double calcularEdad(int anioNacimiento){
int edad;
edad = 2015 - anioNacimiento;
this.edad = edad; //setEdad(edad);
return edad;
}
public double getEdad() {
return edad;
}
public void setEdad(double edad) {
this.edad = edad;
}
class TestPersonas{
public static void main(String[] args) {
Personas personaA = new Personas();
personaA.calcularEdad(1970);
System.out.println("Edad de personaA <"
+personaA.getEdad()+"> anios");
}
}
Output - NomProyecto (run)
Edad de personaA <45.0> anios
Los constructores
sobrecargados
permiten
inicializar los
objetos de una
clase de varias
formas distintas.
CONSTRUCTORES
SOBRECARGADOS
public class Personas {
//Atributos ó campos
public String sexo;
protected double edad;
public double estatura;
private double peso;
protected int numIdentidad;
public String estado;
//Constructores
public Personas() { }
public Personas(double edad, double peso,
int numIdentidad) {
this.edad = edad;
this.peso = peso;
this.numIdentidad = numIdentidad;
}
public Personas(String sexo, double edad,
double estatura, double peso,
int numIdentidad, String estado) {
this.sexo = sexo;
this.edad = edad;
this.estatura = estatura;
this.peso = peso;
this.numIdentidad = numIdentidad;
this.estado = estado;
}
//Métodos SET (void), funciones GET (return)
Una variable
static
representa la
información a
nivel de clase
que se
comparte
entre todos los
objetos de la
clase.
Las variables
static tienen
alcance en toda
la clase. Se
puede tener
acceso a los
miembros
public static de
una clase a
través de una
referencia a
cualquier objeto
de la clase.
Los miembros
de clase static
existen aun
cuando no
existan
objetos de la
clase; están
disponibles
tan pronto
como se carga
la clase en
memoria, en
tiempo de
ejecución.
“
”
Un método que se
declara como static
no puede acceder a
los miembros de
clase que no son
static, ya que un
método static puede
llamarse incluso
aunque no se hayan
creado instancias de
objetos de la clase.
public class PersonasV4 {
//Atributos ó campos
public static String nombreEmpresa;
public String sexo;
public int edad;
//Constructores
public PersonasV4() { }
public PersonasV4(String sexo, int edad) {
nombreEmpresa = "UTPL";
this.sexo = sexo;
this.edad = edad;
}
//Métodos estaticos y no estaticos
public static double calcularEdad(int anioNacimiento){
int edad = 2015 - anioNacimiento;
return edad;
}
public String getNombreEmpresa(){
return nombreEmpresa;
}
}
class TestPersonasV4{
public static void main(String[] args) {
System.out.println("Nombre de empresa de Personas <"+PersonasV4.nombreEmpresa+">");
PersonasV4 personaA = new PersonasV4("M",4);
System.out.println("Nombre de empresa de Personas <"+PersonasV4.nombreEmpresa+">");
PersonasV4 personaB = new PersonasV4();
System.out.println("Nombre de empresa de Personas <"+personaB.getNombreEmpresa()+">");
}
}
Output - NomProyecto (run)
Nombre de empresa de Personas <null>
Nombre de empresa de Personas <UTPL>
Nombre de empresa de Personas <UTPL>
ü Un Paquete en Java es un contenedor de clases
que permite agrupar las distintas partes de un
programa cuya funcionalidad tienen elementos
comunes.
ü Antes de poder importar una clase en varias
aplicaciones, ésta debe colocarse en un paquete.
Sólo puede haber una declaración package en
cada archivo de código fuente de Java
nomClase.java
QUE ES UN PAQUETE
Cada clase en la API de Java
pertenece a un paquete que
contiene un grupo de clases
relacionadas. Los paquetes ayudan a
administrar la complejidad de los
componentes de una aplicación y
facilitan la reutilización de software.
PAQUETE EN JAVA
http://docs.oracle.com/javase/7/docs/api/
No se requiere de import cuando se
desea usar una clase que esta
dentro de un mismo paquete, o si
accedemos a sus miembros
directamente con el nombre de la
clase.
IMPORTAR CLASES
package PaqueteA;
public class ClasesA1 {
public int atributoA;
public int getAtributoA() {
return atributoA;
}
}
package PaqueteA;
import PaqueteB.*;
public class ClasesA2 {
ClasesA1 objetoA = new ClasesA1();
ClasesB1 objetoB = new ClasesB1();
}
package PaqueteB;
public class ClasesB1 {
ClasesA1 objeto = new ClasesA1();
}
Al compilar una clase en un paquete, la opción -d de línea de comandos de javac especifica en dónde se debe
almacenar el paquete, y hace que el compilador cree los directorios del paquete, en caso de que no existan.
La ruta de clases para el compilador y la JVM se puede especificar proporcionando la opción –classpath al
comando javac o java, o estableciendo la variable de entorno CLASSPATH.
La ruta de clases para la JVM también se puede especificar mediante la opción -cp de línea de comandos. Si las
clases deben cargarse del directorio actual, incluya un punto (.) en la ruta de clases.
Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya
funcionalidad tienen elementos comunes.
IMPORTAR CLASES
PROGRAMACIÓN
ORIENTADA A
OBJETOS
curso de programación orientada a objetos
@utpl, @pdirene

Más contenido relacionado

La actualidad más candente

Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
Magda Fernandez
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
Emerson Garay
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
Sunil OS
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
Clara Patricia Avella Ibañez
 
Structures in c++
Structures in c++Structures in c++
Structures in c++
Swarup Boro
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Java 8 - CJ
Java 8 - CJJava 8 - CJ
Java 8 - CJ
Sunil OS
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in JavaRavi_Kant_Sahu
 
Exception Handling
Exception HandlingException Handling
Exception Handling
Sunil OS
 
Java operators
Java operatorsJava operators
Java operators
Shehrevar Davierwala
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#Doncho Minkov
 
JDBC
JDBCJDBC
JDBC
Sunil OS
 
JavaScript
JavaScriptJavaScript
JavaScript
Sunil OS
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamientograchika
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
Daniel Gomez Jaramillo
 
Polymorphism presentation in java
Polymorphism presentation in javaPolymorphism presentation in java
Polymorphism presentation in java
Ahsan Raja
 
Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
BG Java EE Course
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
José Antonio Sandoval Acosta
 

La actualidad más candente (20)

Elementos caracteristicos de la poo
Elementos caracteristicos de la pooElementos caracteristicos de la poo
Elementos caracteristicos de la poo
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Structures in c++
Structures in c++Structures in c++
Structures in c++
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Java 8 - CJ
Java 8 - CJJava 8 - CJ
Java 8 - CJ
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in Java
 
Exception Handling
Exception HandlingException Handling
Exception Handling
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Java operators
Java operatorsJava operators
Java operators
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
 
JDBC
JDBCJDBC
JDBC
 
JavaScript
JavaScriptJavaScript
JavaScript
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Polymorphism presentation in java
Polymorphism presentation in javaPolymorphism presentation in java
Polymorphism presentation in java
 
Inheritance and Polymorphism
Inheritance and PolymorphismInheritance and Polymorphism
Inheritance and Polymorphism
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 

Similar a Programación Orientada a Objetos en Java

PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
PEDRO OSWALDO BELTRAN CANESSA
 
Poo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacionPoo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacion
jlmanmons
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
FamiliaAyluardo
 
Constructores con el parámetro this
Constructores con el parámetro thisConstructores con el parámetro this
Constructores con el parámetro thisDarwin Chungandro
 
Main
MainMain
Main
jbersosa
 
T2 C01 y C02 Herencia y polimorfismo.ppt
T2 C01 y C02 Herencia y polimorfismo.pptT2 C01 y C02 Herencia y polimorfismo.ppt
T2 C01 y C02 Herencia y polimorfismo.ppt
jose185278
 
P4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptxP4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptx
docmarcoantoniosotov
 
Java clases dictadas
Java clases dictadasJava clases dictadas
Java clases dictadasGaloGabriel
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
Richard Eliseo Mendoza Gafaro
 
2.android java
2.android   java2.android   java
2.android java
guidotic
 
Persistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPAPersistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPA
JosngelViedmaMartnez
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoojorg_marq
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
Fer Nando
 
T2 herencia
T2 herenciaT2 herencia
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
Jose Juan R. Zuñiga
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
Aurelio Martín Obando Távara
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
Jose Diaz Silva
 

Similar a Programación Orientada a Objetos en Java (20)

PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Poo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacionPoo1conceptobasicoconinstanciacion
Poo1conceptobasicoconinstanciacion
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Java
JavaJava
Java
 
Constructores con el parámetro this
Constructores con el parámetro thisConstructores con el parámetro this
Constructores con el parámetro this
 
Tema2
Tema2Tema2
Tema2
 
Main
MainMain
Main
 
T2 C01 y C02 Herencia y polimorfismo.ppt
T2 C01 y C02 Herencia y polimorfismo.pptT2 C01 y C02 Herencia y polimorfismo.ppt
T2 C01 y C02 Herencia y polimorfismo.ppt
 
P4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptxP4 Programacion orientada a objetos con Java.pptx
P4 Programacion orientada a objetos con Java.pptx
 
Java clases dictadas
Java clases dictadasJava clases dictadas
Java clases dictadas
 
Clase 2
Clase 2 Clase 2
Clase 2
 
Semana 2 Clases y Objetos en Java
Semana 2   Clases y Objetos en JavaSemana 2   Clases y Objetos en Java
Semana 2 Clases y Objetos en Java
 
2.android java
2.android   java2.android   java
2.android java
 
Persistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPAPersistencia avanzada de datos en Java. JPA
Persistencia avanzada de datos en Java. JPA
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
T2 herencia
T2 herenciaT2 herencia
T2 herencia
 
Creación de Builders y DSL's con Groovy
Creación de Builders y DSL's con GroovyCreación de Builders y DSL's con Groovy
Creación de Builders y DSL's con Groovy
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
Objetos con atributos de vectores
Objetos con atributos de vectoresObjetos con atributos de vectores
Objetos con atributos de vectores
 

Más de Daniel Irene

2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
Daniel Irene
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
Daniel Irene
 
Secciones Cónicas
Secciones CónicasSecciones Cónicas
Secciones Cónicas
Daniel Irene
 
ALGEBRA DE MATRICES
ALGEBRA DE MATRICESALGEBRA DE MATRICES
ALGEBRA DE MATRICES
Daniel Irene
 
CURSO DE MATEMATICAS - Cap 01
CURSO DE MATEMATICAS - Cap 01CURSO DE MATEMATICAS - Cap 01
CURSO DE MATEMATICAS - Cap 01
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 9
CURSO DE PROGRAMACION BASICA - Cap 9CURSO DE PROGRAMACION BASICA - Cap 9
CURSO DE PROGRAMACION BASICA - Cap 9
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 8
CURSO DE PROGRAMACION BASICA - Cap 8CURSO DE PROGRAMACION BASICA - Cap 8
CURSO DE PROGRAMACION BASICA - Cap 8
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 7
CURSO DE PROGRAMACION BASICA - Cap 7CURSO DE PROGRAMACION BASICA - Cap 7
CURSO DE PROGRAMACION BASICA - Cap 7
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 6
CURSO DE PROGRAMACION BASICA - Cap 6CURSO DE PROGRAMACION BASICA - Cap 6
CURSO DE PROGRAMACION BASICA - Cap 6
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 4
CURSO DE PROGRAMACION BASICA - Cap 4CURSO DE PROGRAMACION BASICA - Cap 4
CURSO DE PROGRAMACION BASICA - Cap 4
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1
Daniel Irene
 
CURSO DE PROGRAMACION BASICA - Cap 2
CURSO DE PROGRAMACION BASICA - Cap 2CURSO DE PROGRAMACION BASICA - Cap 2
CURSO DE PROGRAMACION BASICA - Cap 2
Daniel Irene
 

Más de Daniel Irene (14)

2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
2 indicaciones algarreglos_utpl_abr-ago-2014_pdirene
 
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
1 indicaciones excepciones_utpl_abr-ago-2014_pdirene
 
Secciones Cónicas
Secciones CónicasSecciones Cónicas
Secciones Cónicas
 
ALGEBRA DE MATRICES
ALGEBRA DE MATRICESALGEBRA DE MATRICES
ALGEBRA DE MATRICES
 
CURSO DE MATEMATICAS - Cap 01
CURSO DE MATEMATICAS - Cap 01CURSO DE MATEMATICAS - Cap 01
CURSO DE MATEMATICAS - Cap 01
 
CURSO DE PROGRAMACION BASICA - Cap 9
CURSO DE PROGRAMACION BASICA - Cap 9CURSO DE PROGRAMACION BASICA - Cap 9
CURSO DE PROGRAMACION BASICA - Cap 9
 
CURSO DE PROGRAMACION BASICA - Cap 8
CURSO DE PROGRAMACION BASICA - Cap 8CURSO DE PROGRAMACION BASICA - Cap 8
CURSO DE PROGRAMACION BASICA - Cap 8
 
CURSO DE PROGRAMACION BASICA - Cap 7
CURSO DE PROGRAMACION BASICA - Cap 7CURSO DE PROGRAMACION BASICA - Cap 7
CURSO DE PROGRAMACION BASICA - Cap 7
 
CURSO DE PROGRAMACION BASICA - Cap 6
CURSO DE PROGRAMACION BASICA - Cap 6CURSO DE PROGRAMACION BASICA - Cap 6
CURSO DE PROGRAMACION BASICA - Cap 6
 
CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5CURSO DE PROGRAMACION BASICA - Cap 5
CURSO DE PROGRAMACION BASICA - Cap 5
 
CURSO DE PROGRAMACION BASICA - Cap 4
CURSO DE PROGRAMACION BASICA - Cap 4CURSO DE PROGRAMACION BASICA - Cap 4
CURSO DE PROGRAMACION BASICA - Cap 4
 
CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3CURSO DE PROGRAMACION BASICA - Cap 3
CURSO DE PROGRAMACION BASICA - Cap 3
 
CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1CURSO DE PROGRAMACION BASICA - Cap 1
CURSO DE PROGRAMACION BASICA - Cap 1
 
CURSO DE PROGRAMACION BASICA - Cap 2
CURSO DE PROGRAMACION BASICA - Cap 2CURSO DE PROGRAMACION BASICA - Cap 2
CURSO DE PROGRAMACION BASICA - Cap 2
 

Último

teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
ElzebirQuiroga
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
ar5498718
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
ElenaGallardoPals
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
DanielaBurgosnazario
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Demetrio Ccesa Rayme
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascónElites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Javier Andreu
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
77361565
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 

Último (20)

teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Biografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptxBiografía de Gregor Mendel y sus 3 leyes.pptx
Biografía de Gregor Mendel y sus 3 leyes.pptx
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIAFUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
FUENTES DE LA CULTURA GRIEGA EN LA HISTORIA
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
6° GRADO UNIDAD DE APRENDIZAJE 3 JUNIO.docx
 
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdfGuia Practica de ChatGPT para Docentes Ccesa007.pdf
Guia Practica de ChatGPT para Docentes Ccesa007.pdf
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascónElites municipales y propiedades rurales: algunos ejemplos en territorio vascón
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascón
 
Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024Dia de la Bandera colegio Santa Angela 2024
Dia de la Bandera colegio Santa Angela 2024
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 

Programación Orientada a Objetos en Java

  • 1. PROGRAMACIÓN ORIENTADA A OBJETOS Curso de programación orientada a objetos con java Universidad Técnica Particular de Loja – Ecuador Daniel Irene – pdirene@gmail.com
  • 2. AGENDA üQue es programación orientada a objetos (Clases, Objetos, métodos y variables de instancia). üAtributos (primitivos/por referencia), niveles de acceso (public, private, protected, static) e inicialización (final, this) üMétodos, propiedades (set, get), constructores y sobrecarga. üEncapsulamiento, ocultamiento y paquetes.
  • 3. Traduce a todo el mundo real, invisible o invisible como un objeto, el cual tiene atributos que lo describen, métodos (acciones) que le dan un sentido y mensajes para comunicarse de un objeto a otro; todo ello de manera abstraída en una clase. PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS http://www.howdesign.com/web-design-resources-technology/how-to-present-creative-ideas-to-clients/
  • 7. Una clase es el molde para crear objetos, abstrae los datos (atributos) y operaciones (métodos) de un objeto a modo de caja negra (ejemplo en libro base: conducción de un vehículo). PROGRAMACIÓN ORIENTADA A OBJETOS ¿QUE ES UNA CLASE?
  • 8. CLASES CLASE = Aeronave CLASE = Vehículo CLASE = Transporte otros Aeronave Vehículo
  • 9. CLASES CLASE = Mujer CLASE = Hombre CLASE = Humanos otros mujer hombre
  • 10. CLASES CLASE = Empresa Publica CLASE = Empresa Privada CLASE = Empresa otras publica privada
  • 11. Gráficamente una clase en UML es un rectángulo dividido en tres partes donde la (1) es el nombre de la clase; (2) los atributos con niveles de acceso +publico -privado y #protegido y (3) son los métodos con niveles de acceso +publico -privado y #protegido. NOMENCLATURA UML DE UNA CLASE 1 2 3
  • 12. 1 2 3 public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Métodos (void), funciones (return) public void respirar() { estado = "respirando"; } protected void caminar() { estado = "caminando"; } private void alimentar() { estado = "alimentando"; } public String investigar() { estado = "investigando"; return estado; } } 1 2 3
  • 13. public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Métodos (void), funciones (return) public void respirar() { estado = "respirando"; } protected void caminar() { estado = "caminando"; } private void alimentar() { estado = "alimentando"; } public String investigar() { estado = "investigando"; return estado; } } class TestPersona{ public static void main(String[] args) { Personas personaA = new Personas(); Personas personaB = new Personas(); Personas personaC = new Personas(); personaA.sexo = "Masculino"; personaA.caminar(); System.out.println("personaA d sexo <" +personaA.sexo+"> esta <" +personaA.estado+">"); } } Output - NomProyecto (run) C:>cd C:FolderMisJava C:FolderMisJava>javac Personas.java C:FolderMisJava>java TestPersona personaA d sexo <Masculino> esta <caminando> C:FolderMisJava>
  • 14. public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Métodos (void), funciones (return) public void respirar() { estado = "respirando"; } protected void caminar() { estado = "caminando"; } private void alimentar() { estado = "alimentando"; } public String investigar() { estado = "investigando"; return estado; } } class TestPersona{ public static void main(String[] args) { Personas personaA = new Personas(); Personas personaB = new Personas(); Personas personaC = new Personas(); personaA.sexo = "Masculino"; personaA.caminar(); System.out.println("personaA d sexo <" +personaA.sexo+"> esta <" +personaA.estado+">"); } } Personas personaA = new Personas(); Personas personaB = new Personas(); Personas personaC = new Personas(); Nombre de la clase Nombre del objeto Invoca al constructor Nombre del constructor
  • 15. Lo +public: es accesibles dentro/fuera de la clase, a través del objeto que la instancia; lo -private: es accesibles solo dentro de la misma clase (ocultamiento de información) y lo #protected: dentro de la clase y otras que pertenezcan al mismo paquete. NIVELES O MODIFICADORES DE ACCESO
  • 16. public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Métodos (void), funciones (return) public void respirar() { estado = "respirando"; } protected void caminar() { estado = "caminando"; } private void alimentar() { estado = "alimentando"; } public String investigar() { estado = "investigando"; return estado; } } class TestPersona{ public static void main(String[] args) { Personas personaA = new Personas(); Personas personaB = new Personas(); Personas personaC = new Personas(); personaA.sexo = "Masculino"; personaA.caminar(); System.out.println("personaA d sexo <" +personaA.sexo+"> esta <" +personaA.estado+">"); } } ü personaA.estatura = 175.5; ü personaA.numIdentidad = 1105467862; × personaA.peso = 70; + - #
  • 17. Existen dos tipo (nombres) de métodos genéricos para inicializar los valores de lo cada atributo de una clase: ü set: para inicializar los atributos con un valor determinado ü get: para obtener dichos valores. El constructor de la clase: método especial que inicializa todos (o algunos de) sus atributos. Si la clase que no tiene uno, el compilador crea uno vacío por defecto; si ya se especifica uno, no se crea el vacío por defecto. CONSTRUCTOR Y MÉTODOS DE ACCESO A ATRIBUTOS DE LA CLASE
  • 18. Output - NomProyecto (run) Peso de PersonaA <70.0> Peso de PersonaB <75.0> public String getEstado() { return estado; } public void setEstado(String estado) { this.estado = estado; } } class TestPersona{ public static void main(String[] args) { Persona personaA = new Persona(); Persona personaB = new Persona("M",34,170, 75,1105678432,"Activo"); personaA.setPeso(70); System.out.println("Peso de PersonaA " + "<"+personaA.getPeso()+">"); System.out.println("Peso de PersonaB " + "<"+personaB.getPeso()+">"); } } public class Persona { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Constructores public Persona() { } public Persona(String sexo, double edad, double estatura, double peso, int numIdentidad, String estado) { this.sexo = sexo; this.edad = edad; this.estatura = estatura; this.peso = peso; this.numIdentidad = numIdentidad; this.estado = estado; } //Métodos SET (void), funciones GET (return) public String getSexo() { return sexo; } public void setSexo(String sexo) { this.sexo = sexo; }
  • 19. Las variables que se declaran en el cuerpo de un método específico se conocen como variables locales, y sólo se pueden utilizar en ese método. Los atributos/campos de la clase se conocen como variables globales, y son accesibles en todo el cuerpo de la clase. Por lo general los valores de los atributos de una clase se inicializan dentro del constructor de la clase. “ ”
  • 20. Tipos primitivos de datos: boolean, byte, char, short, int, long, float y double Tipos de datos por referencia: String, o cualquier otro objetivo que apunte a una clase, son tipos de dato no primitivos. Toda clase que usted declara representa un nuevo tipo en Java. “ ”
  • 21. public class Persona { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Constructores public Persona() { } public Persona(String sexo, double edad, double estatura, double peso, int numIdentidad, String estado) { this.sexo = sexo; this.edad = edad; this.estatura = estatura; this.peso = peso; this.numIdentidad = numIdentidad; this.estado = estado; } //Métodos SET (void), funciones GET (return) public String getSexo() { return sexo; } public void setSexo(String sexo) { this.sexo = sexo; } public String getEstado() { return estado; } public void setEstado(String estado) { this.estado = estado; } } class TestPersona{ public static void main(String[] args) { Persona personaA = new Persona(); Persona personaB = new Persona("M",34,170, 75,1105678432,"Activo"); personaA.setPeso(70); System.out.println("Peso de PersonaA " + "<"+personaA.getPeso()+">"); System.out.println("Peso de PersonaB " + "<"+personaB.getPeso()+">"); } } # datos primitivo: 4 # datos por referencia: 4 # nuevos tipos: 1
  • 22. Si un método contiene una variable local con el mismo nombre que uno de los campos de su clase, la variable local oculta el campo en el alcance del método. El método puede usar la referencia this para hacer referencia al campo oculto en forma explícita. PREFIJO THIS PARA INSTANCIAR
  • 23. public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Constructores public Personas() { } //Métodos SET (void), funciones GET (return) public double calcularEdad(int anioNacimiento){ int edad; edad = 2015 - anioNacimiento; this.edad = edad; //setEdad(edad); return edad; } public double getEdad() { return edad; } public void setEdad(double edad) { this.edad = edad; } class TestPersonas{ public static void main(String[] args) { Personas personaA = new Personas(); personaA.calcularEdad(1970); System.out.println("Edad de personaA <" +personaA.getEdad()+"> anios"); } } Output - NomProyecto (run) Edad de personaA <45.0> anios
  • 24. Los constructores sobrecargados permiten inicializar los objetos de una clase de varias formas distintas. CONSTRUCTORES SOBRECARGADOS public class Personas { //Atributos ó campos public String sexo; protected double edad; public double estatura; private double peso; protected int numIdentidad; public String estado; //Constructores public Personas() { } public Personas(double edad, double peso, int numIdentidad) { this.edad = edad; this.peso = peso; this.numIdentidad = numIdentidad; } public Personas(String sexo, double edad, double estatura, double peso, int numIdentidad, String estado) { this.sexo = sexo; this.edad = edad; this.estatura = estatura; this.peso = peso; this.numIdentidad = numIdentidad; this.estado = estado; } //Métodos SET (void), funciones GET (return)
  • 25. Una variable static representa la información a nivel de clase que se comparte entre todos los objetos de la clase. Las variables static tienen alcance en toda la clase. Se puede tener acceso a los miembros public static de una clase a través de una referencia a cualquier objeto de la clase. Los miembros de clase static existen aun cuando no existan objetos de la clase; están disponibles tan pronto como se carga la clase en memoria, en tiempo de ejecución. “ ” Un método que se declara como static no puede acceder a los miembros de clase que no son static, ya que un método static puede llamarse incluso aunque no se hayan creado instancias de objetos de la clase.
  • 26. public class PersonasV4 { //Atributos ó campos public static String nombreEmpresa; public String sexo; public int edad; //Constructores public PersonasV4() { } public PersonasV4(String sexo, int edad) { nombreEmpresa = "UTPL"; this.sexo = sexo; this.edad = edad; } //Métodos estaticos y no estaticos public static double calcularEdad(int anioNacimiento){ int edad = 2015 - anioNacimiento; return edad; } public String getNombreEmpresa(){ return nombreEmpresa; } } class TestPersonasV4{ public static void main(String[] args) { System.out.println("Nombre de empresa de Personas <"+PersonasV4.nombreEmpresa+">"); PersonasV4 personaA = new PersonasV4("M",4); System.out.println("Nombre de empresa de Personas <"+PersonasV4.nombreEmpresa+">"); PersonasV4 personaB = new PersonasV4(); System.out.println("Nombre de empresa de Personas <"+personaB.getNombreEmpresa()+">"); } } Output - NomProyecto (run) Nombre de empresa de Personas <null> Nombre de empresa de Personas <UTPL> Nombre de empresa de Personas <UTPL>
  • 27. ü Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes. ü Antes de poder importar una clase en varias aplicaciones, ésta debe colocarse en un paquete. Sólo puede haber una declaración package en cada archivo de código fuente de Java nomClase.java QUE ES UN PAQUETE
  • 28. Cada clase en la API de Java pertenece a un paquete que contiene un grupo de clases relacionadas. Los paquetes ayudan a administrar la complejidad de los componentes de una aplicación y facilitan la reutilización de software. PAQUETE EN JAVA http://docs.oracle.com/javase/7/docs/api/
  • 29. No se requiere de import cuando se desea usar una clase que esta dentro de un mismo paquete, o si accedemos a sus miembros directamente con el nombre de la clase. IMPORTAR CLASES
  • 30. package PaqueteA; public class ClasesA1 { public int atributoA; public int getAtributoA() { return atributoA; } } package PaqueteA; import PaqueteB.*; public class ClasesA2 { ClasesA1 objetoA = new ClasesA1(); ClasesB1 objetoB = new ClasesB1(); } package PaqueteB; public class ClasesB1 { ClasesA1 objeto = new ClasesA1(); }
  • 31. Al compilar una clase en un paquete, la opción -d de línea de comandos de javac especifica en dónde se debe almacenar el paquete, y hace que el compilador cree los directorios del paquete, en caso de que no existan. La ruta de clases para el compilador y la JVM se puede especificar proporcionando la opción –classpath al comando javac o java, o estableciendo la variable de entorno CLASSPATH. La ruta de clases para la JVM también se puede especificar mediante la opción -cp de línea de comandos. Si las clases deben cargarse del directorio actual, incluya un punto (.) en la ruta de clases. Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes. IMPORTAR CLASES
  • 32. PROGRAMACIÓN ORIENTADA A OBJETOS curso de programación orientada a objetos @utpl, @pdirene