Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Programación Orientada a Objetos Java

Programación Orientada a Objetos Java

- Clases y Objetos
- Constructores
- Construyendo una clase
- Atributos
- Añadiendo atributos al programa
- Definiendo un constructor
- Métodos de clase
- Métodos Set y Get
- Imprimiendo los atributos de clase
- Instancia de objetos de una clase

Luis Fajardo

August 10, 2023
Tweet

More Decks by Luis Fajardo

Other Decks in Programming

Transcript

  1. Clases y objetos Qué es una clase? Una clase es

    una construcción sintáctica que sirve para representar las características que debe tener un objeto creado con esa clase. Esta construcción sintáctica debe ser legible para quien lee o escribe el código y a la vez debe tener sentido lógico. Las clases son creadas durante la compilación de un programa. Liceo Militar de Honduras | Luis E. Fajardo
  2. Clases y objetos Qué es un objeto? Un objeto es

    una construcción definida a partir de una clase. A los objetos también se les llama instancias de clase. Los objetos contienen los atributos de una clase y se pueden hacer operaciones sobre ellos. Un programa puede crear cualquier cantidad de objetos en memoria volátil siempre y cuando la capacidad de direccionamiento de la memoria lo permita. Los objetos son creados durante la ejecución del programa. Liceo Militar de Honduras | Luis E. Fajardo
  3. Clase: Departamento Atributo Tipo de dato Ejemplo id int 5

    nombre String Cortes cabecera_depto String San Pedro Sula area_territ double 3923 km2 poblacion float 1876658 hab densidad_pob double 478.4 hab/km2 densidad_pob = poblacion / area_territ Liceo Militar de Honduras | Luis E. Fajardo
  4. Objeto 1 id: 5 nombre: Copán cabecera_depto: Santa Rosa Copán

    area_territ: 3242 km2 poblacion: 429167 hab densidad_pob: 132.4 hab/km2 Liceo Militar de Honduras | Luis E. Fajardo
  5. Objeto 2 id: 3 nombre: Colón cabecera_depto: Trujillo area_territ: 8249

    km2 poblacion: 359000 hab densidad_pob: 43.5 hab/km2 Liceo Militar de Honduras | Luis E. Fajardo
  6. Objeto 3 id: 7 nombre: El Paraíso cabecera_depto: Yuscarán area_territ:

    7489 km2 poblacion: 515736 hab densidad_pob: 68.9 hab/km2 Liceo Militar de Honduras | Luis E. Fajardo
  7. Objeto 4 id: 17 nombre: Valle cabecera_depto: Nacaome area_territ: 1665

    km2 poblacion: 195747 hab densidad_pob: 117.6 hab/km2 Liceo Militar de Honduras | Luis E. Fajardo
  8. En Java se declararían los objetos de la siguiente manera...

    Departamento objeto1 = new Departamento(5, "Copan", "Santa Rosa de Copan", 3242, 429167, 132.4); Departamento objeto2 = new Departamento(3, "Colon", "Trujillo", 8249, 359000, 43.5); Departamento objeto3 = new Departamento(7, "El Paraiso", "Yuscaran", 7489, 515736, 68.9); Departamento objeto4 = new Departamento(17, "Valle", "Nacaome", 1665, 195747, 117.6); Liceo Militar de Honduras | Luis E. Fajardo
  9. Constructores Es un método que se ejecuta de manera automática

    al crear una instancia de una clase. Tiene como finalidad la inicialización de los atributos de la clase y en algunos casos ejecutar algunos métodos. Una clase puede tener tantos constructores como el desarrollador los necesite, a esto se le llama sobrecarga de constructores. La característica más destacada de los constructores es que tiene el mismo nombre de la clase. Liceo Militar de Honduras | Luis E. Fajardo
  10. Constructores Las sobrecargas del constructor de una clase va a

    depender de las distintas combinaciones de parámetros de entrada al constructor. Cuando no se declara un constructor de manera explícita para una clase, entonces Java se encarga de asignar un constructor por defecto a la clase. A diferencia de las funciones, los constructores no pueden retornar valores. Liceo Militar de Honduras | Luis E. Fajardo
  11. Constructores Los tipos de constructores más comunes en Java son:

    Constructor por defecto Constructor parámetrizado Liceo Militar de Honduras | Luis E. Fajardo
  12. Construyendo una clase Estructura sintáctica <modificador de acceso> class <nombre

    de la clase> { } Clase Departamento public class Departamento { } Liceo Militar de Honduras | Luis E. Fajardo
  13. Atributos Los atributos son características individuales que diferencian a un

    objeto de otro y determinan su apariencia, estado u otras cualidades. Los atributos pueden guardarse como variables de tipo primitivo o compuesto. Los atributos determinan el comportamiento del objeto respecto a los demás objetos que pueda contener el programa. Liceo Militar de Honduras | Luis E. Fajardo
  14. Añadiendo atributos al programa Estructura sintáctica public class <nombre de

    la clase> { <modificador de acceso> <tipo de dato> <nombre del atributo>; <modificador de acceso> <tipo de dato> <nombre del atributo>; <modificador de acceso> <tipo de dato> <nombre del atributo>; ... } Liceo Militar de Honduras | Luis E. Fajardo
  15. Añadiendo atributos al programa Atributos Departamento public class Departamento {

    private int id; private String nombre; private String cabecera_depto; private double area_territ; private long poblacion; private double densidad_pob; } Liceo Militar de Honduras | Luis E. Fajardo
  16. Definiendo un constructor Constructor por defecto Este tipo de constructor

    no lleva argumentos, la inicialización de las variables se hace con valores por defecto que el desarrollador define dentro del constructor. Estructura sintáctica public class <nombre de la clase> { <nombre de la clase>() { // aqui se inicializan los atributos con valores por defecto } ... } Liceo Militar de Honduras | Luis E. Fajardo
  17. Definiendo un constructor Constructor por defecto Departamento public class Departamento

    { Departamento() { this.id = 0; this.nombre = ""; this.cabecera_depto = ""; this.area_territ = 0.0; this.poblacion = 0; this.densidad_pob = 0.0; } } Liceo Militar de Honduras | Luis E. Fajardo
  18. Definiendo un constructor Constructor parametrizado Este tipo de constructor tiene

    argumentos de entrada que luego se utilizan en la inicialización de los atributos de la clase. Estructura sintáctica public class <nombre de la clase> { <modificador de acceso> <tipo de dato> <nombre del atributo>; <modificador de acceso> <tipo de dato> <nombre del atributo>; <nombre de la clase>(<tipo dato> <nombre de argumento>, <tipo dato> <nombre de argumento>, ...) { this.<nombre del atributo> = <nombre de argumento>; this.<nombre del atributo> = <nombre de argumento>; ... } } Liceo Militar de Honduras | Luis E. Fajardo
  19. Definiendo un constructor Constructor parametrizado Departamento public class Departamento {

    private int id; private String nombre; private String cabecera_depto; private double area_territ; private long poblacion; private double densidad_pob; Departamento(int id, String nombre, String cabecera_depto, double area_territ, long poblacion) { this.id = id; this.nombre = nombre; this.cabecera_depto = cabecera_depto; this.area_territ = area_territ; this.poblacion = poblacion; } } Liceo Militar de Honduras | Luis E. Fajardo
  20. Métodos de clase Los métodos de clase son funciones que

    sirven para manipular los atributos de la clase, de aquí parte la primera característica reelevante de la programación orientada a objetos: encapsulamiento. Liceo Militar de Honduras | Luis E. Fajardo
  21. Métodos set y get Los métodos set y get usualmente

    se definen para acceder a un atributo privada de la clase. método set : se encarga de modificar directamente el valor de un atributo a través de un argumento. Generalmente es un método de tipo void y el argumento que recibe es del mismo tipo a modificar. método get : por lo general es un método que puede escribirse en una sola línea de código, retorna el valor actual de un atributo privado. El valor de retorno de este método es del mismo tipo del atributo al cual hace referencia. En la mayoría de los casos un método get no tiene argumentos. Liceo Militar de Honduras | Luis E. Fajardo
  22. Métodos set y get En la mayoría de los casos,

    los métodos set y get tienen nivel de acceso public o protected . Liceo Militar de Honduras | Luis E. Fajardo
  23. Método set public class Departamento { // atributos private int

    id; private String nombre; private String cabecera_depto; // constructores ... // metodos set public void setId(int id) { this.id = id; } public void setNombre(String nombre) { this.nombre = nombre; } public void setCabeceraDepto(String cabecera_depto) { this.cabecera_depto = cabecera_depto; } } Liceo Militar de Honduras | Luis E. Fajardo
  24. Método get public class Departamento { // atributos private int

    id; private String nombre; private String cabecera_depto; // constructores ... // metodos get public int getId() { return this.id; } public String getNombre() { return this.nombre; } public String getCabeceraDepto() { return this.cabecera_depto; } } Liceo Militar de Honduras | Luis E. Fajardo
  25. Imprimiendo los atributos de clase Para mostrar en pantalla los

    datos de cada uno de los objetos se necesita acceder a sus atributos a través de un método de la clase. Para esto se debe definir un método de clase. Liceo Militar de Honduras | Luis E. Fajardo
  26. Imprimiendo los atributos de clase public class Departamento { //

    atributos private int id; private String nombre; private String cabecera_depto; // constructores ... // metodos set y get ... // metodo imprimir public void imprimir() { System.out.println("id: " + this.id + " nombre: " + this.nombre + " cabecera depto: " + this.cabecera_depto); } } Liceo Militar de Honduras | Luis E. Fajardo
  27. Instancia de objetos de una clase Las instancias de una

    clase pueden hacerse desde cualquier función externa que reciba un objeto de la clase. Generalmente en programas pequeños las instancias de clase se crean en la función main() . Liceo Militar de Honduras | Luis E. Fajardo
  28. Instancia de objetos de una clase Utilizando objetos por separado

    public class Main { public static void main(String[] args) { Departamento depto1 = new Departamento(5, "Copan", "Santa Rosa Copan"); Departamento depto2 = new Departamento(3, "Colon", "Trujillo"); Departamento depto3 = new Departamento(7, "El Paraiso", "Yuscaran"); Departamento depto4 = new Departamento(17, "Valle", "Nacaome"); } } Liceo Militar de Honduras | Luis E. Fajardo
  29. Imprimir métodos de cada instancia de clase Utilizando objetos por

    separado public class Main { public static void main(String[] args) { Departamento depto1 = new Departamento(5, "Copan", "Santa Rosa Copan"); Departamento depto2 = new Departamento(3, "Colon", "Trujillo"); Departamento depto3 = new Departamento(7, "El Paraiso", "Yuscaran"); Departamento depto4 = new Departamento(17, "Valle", "Nacaome"); depto1.imprimir(); depto2.imprimir(); depto3.imprimir(); depto4.imprimir(); } } Liceo Militar de Honduras | Luis E. Fajardo
  30. Instancia de objetos de una clase Utilizando un arreglo de

    objetos public class Main { public static void main(String[] args) { // arreglo de objetos Departamento deptos[] = new Departamento[4]; Departamento deptos[0] = new Departamento(5, "Copan", "Santa Rosa Copan"); Departamento deptos[1] = new Departamento(3, "Colon", "Trujillo"); Departamento deptos[2] = new Departamento(7, "El Paraiso", "Yuscaran"); Departamento deptos[3] = new Departamento(17, "Valle", "Nacaome"); // invocar el metodo imprimir for (Departamento depto : deptos) { depto.imprimir(); } } } Liceo Militar de Honduras | Luis E. Fajardo
  31. Instancia de objetos de una clase Utilizando ArrayList import java.util.ArrayList;

    public class Main { public static void main(String[] args) { ArrayList<Departamento> deptosList = new ArrayList<>(); deptosList.add(new Departamento(5, "Copan", "Santa Rosa Copan")); deptosList.add(new Departamento(3, "Colon", "Trujillo")); deptosList.add(new Departamento(7, "El Paraiso", "Yuscaran")); deptosList.add(new Departamento(17, "Valle", "Nacaome")); for (Departamento depto : deptosList) { depto.imprimir(); } } } Liceo Militar de Honduras | Luis E. Fajardo
  32. Conceptos importantes Instancia de clase Las instancias son la materialización

    de una clase, es decir, son objetos concretos que tienen su propio estado (los valores de sus atributos) y su propio comportamiento (los métodos que pueden ejecutar). Las instancias permiten la creación de objetos concretos a partir de una clase y la manipulación de esos objetos a través de métodos. Liceo Militar de Honduras | Luis E. Fajardo
  33. Conceptos importantes Memoria volátil Es también conocida como memoria de

    almacenamiento temporal y también conocida como RAM (Random Access Memory), es un tipo de memoria que almacena de manera temporal datos e instrucciones que están siendo utilizadas activamente por una computadora u otro dispositivo electrónico. De denomina "volátil" porque su contenido no se guarda cuando el dispositivo se apaga o se interrumpe el flujo eléctrico. Liceo Militar de Honduras | Luis E. Fajardo
  34. Conceptos importantes Sobrecarga de constructores Es una técnica en la

    que una clase puede tener cualquier cantidad de constructores que se diferencian por la cantidad y tipo de parámetros. El compilador diferencia estos constructores tomando en cuenta el número de parámetros y el tipo de dato asociado a cada parámetro. Liceo Militar de Honduras | Luis E. Fajardo
  35. Conceptos importantes Encapsulamiento Almacena y organiza las características y funcionalidades

    de los objetos representándolas por medio de atributos y métodos. El encapsulamiento, garantiza la integridad de los datos que contiene un objeto, lo que significa que los datos son correctos y están completos, además, restringe el acceso a los datos a través de modificadores de acceso. Liceo Militar de Honduras | Luis E. Fajardo