El documento presenta los conceptos básicos de la programación orientada a objetos con Java. Explica que una clase define el molde para crear objetos con atributos y métodos, y que los objetos son instancias concretas de una clase. También cubre temas como los niveles de acceso, constructores, métodos set/get y el uso del prefijo this.
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación orientada a objetos
Unidad 1: introduccion al paradigma de la POO
Programación en C++
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación orientada a objetos
Unidad 1: introduccion al paradigma de la POO
Programación en C++
Demostración de la creación de una clase de JAVA que emplea un atributo de tipo Objeto y que al mismo tiempo se declara como vector. Se emplean los métodos GET para traer información de los objetos.
Similar a Programación Orientada a Objetos en Java (20)
Indicaciones generales para el auto estudio de la unidad 2. ALGORITMOS SOBRE ARREGLOS, y del libro de Deitel y Deitel, COMO PROGRAMAR EN JAVA, capitulo 7. ARREGLOS, y 16/19 BUSQUEDA Y ORDENAMIENTO.
Universidad Técnica Particular de Loja Tema: Introducción al Microsoft Visual Studio .NET 2005 Expositor: Ing. Daniel Irene R. Periodo: Abril-Agosto 2009
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJEjecgjv
La Pedagogía Autogestionaria es un enfoque educativo que busca transformar la educación mediante la participación directa de estudiantes, profesores y padres en la gestión de todas las esferas de la vida escolar.
Documento sobre las diferentes fuentes que han servido para transmitir la cultura griega, y que supone la primera parte del tema 4 de "Descubriendo nuestras raíces clásicas", optativa de bachillerato en la Comunitat Valenciana.
Elites municipales y propiedades rurales: algunos ejemplos en territorio vascónJavier Andreu
Material de apoyo a la conferencia pórtico de la XIX Semana Romana de Cascante celebrada en Cascante (Navarra), el 24 de junio de 2024 en el marco del ciclo de conferencias "De re rustica. El campo y la agricultura en época romana: poblamiento, producción, consumo"
Presentación de la conferencia sobre la basílica de San Pedro en el Vaticano realizada en el Ateneo Cultural y Mercantil de Onda el jueves 2 de mayo de 2024.
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁClaude LaCombe
Recuerdo perfectamente la primera vez que oí hablar de las imágenes subliminales de los Testigos de Jehová. Fue en los primeros años del foro de religión “Yahoo respuestas” (que, por cierto, desapareció definitivamente el 30 de junio de 2021). El tema del debate era el “arte religioso”. Todos compartíamos nuestros puntos de vista sobre cuadros como “La Mona Lisa” o el arte apocalíptico de los adventistas, cuando repentinamente uno de los participantes dijo que en las publicaciones de los Testigos de Jehová se ocultaban imágenes subliminales demoniacas.
Lo que pasó después se halla plasmado en la presente obra.
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?
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