Programación

Orientada

Objetos

>

_

Actividad de aprendizaje

Paradigma Orientación a objetos







 

Define:

Temas

1. Paradigma.

1.1 POO.

1.2 Objetos.

1.3 Característica de los objetos.

1.3.1 Propiedad.

1.3.2. Método.

1.3.3. Identidad.

1.3.4. Comunicación entre objetos

1.3.5. Herencia y polimorfismo.

1.4. Clases

La POO es un paradigma de programación que se basa en la creación de objetos, los cuales son entidades que combinan datos (propiedades) y comportamiento (métodos) relacionados.

1. Objetos

¿Qué son los objetos?

Walk through your code using multiple highlight steps.

1.Objetos

Built-in syntax highlighting with support for line-highlights.

Los objetos son las unidades fundamentales con las que se construyen las aplicaciones.

Cada objeto es una instancia de una clase, que es una plantilla o molde que define las características y comportamientos que los objetos de ese tipo pueden tener.

¿Qué tienen los objetos?

1.Objetos

Propiedad

Métodos

Identidad

Comunicación entre objetos

Herencia y polimorfismo

Propiedad

1.Objetos

  • Los objetos tienen propiedades, también conocidas como atributos o variables de instancia.
  • Estas propiedades representan el estado o los datos asociados al objeto.

Propiedades - Ejemplo

1. Objetos

Customize anything with our
real-time CSS editor.

Actividad de aprendizaje

1. objetos

Propiedades de un banco






 

1. Método

¿qué es un método?

Los objetos también tienen métodos, que son funciones asociadas a un objeto en particular.

Los métodos definen el comportamiento o las acciones que el objeto puede realizar.

Siguiendo el ejemplo del coche, podríamos tener métodos como "arrancar", "acelerar" o "frenar".

Los métodos pueden acceder y modificar las propiedades del objeto y pueden interactuar con otros objetos.

1. Método

Actividad de aprendizaje

¿Qué métodos puede tener un banco?






 

1. objetos

¿Qué es la identidad?

Embed code editors, 3D models, spreadsheets, and more with iframes.

Cada objeto tiene una identidad única. Esto significa que, aunque dos objetos de la misma clase pueden tener propiedades y comportamientos similares, son entidades distintas en la memoria.

La identidad se utiliza para distinguir entre diferentes objetos y permite la manipulación y gestión individual de cada uno.

1. objetos

Actividad de aprendizaje

Embed code editors, 3D models, spreadsheets, and more with iframes.

¿Cómo se diferenciaría dos bancos dentro de una misma habitación?





 

¿Cómo se comunican los obetos?

1. Objetos

  •  A través de mensajes.
  • Un objeto puede invocar un método en otro objeto para solicitarle que realice una acción o le proporcione cierta información.
  • Esta interacción entre objetos es esencial para la colaboración y la construcción de sistemas complejos.

Actividad de aprendizaje

1. Objetos

En el supuesto de considerar a dos personas como objetos y estas están dentro de la misma habitación ¿Cómo se comunicarían entre ellos?




 

Herencia y polimorfismo

1. Objetos

  • Heredan características de otras clases mediante la herencia. Esto significa que un objeto puede basarse en una clase existente y extenderla, agregando nuevas propiedades y métodos o modificando los existentes.
  • El polimorfismo permite que diferentes objetos respondan de manera diferente a los mismos mensajes, lo que proporciona flexibilidad y permite el diseño de jerarquías de clases.

1. Objetos

Actividad de aprendizaje

Banco Silla Mecedora





 

Cuales serían las propiedades heredables de los siguientes objetos

2. Clases

¿Qué es una clase ?

Una clase es una plantilla que define la estructura y el comportamiento común de los objetos que se crean a partir de ella.

Los atributos en una clase representan las variables o datos que pueden tener los objetos.

Los métodos en la clase definen el comportamiento o las acciones que los objetos pueden realizar.

En este contexto, los atributos y los métodos son parte de la definición de la clase.

2. Clases

 ¿Cómo se define una clase?

Decidir el lenguaje en el que se definirá la clase

Instalar el lenguaje

-> POO <-

 Temas

¿Porqué java?

Seis razones por la que debes de programar en java

Palabras reservadas en java

Recomendaciones para programar en java

Variable correcta en java

Estructura de un programa en java

Mi primer programa en java

¿Dónde ejecuto mi programa en java?

3. Java

 ¿Porqué elegir java para POO?

Sintaxis clara y fácil de entender

Portabilidad

Fuerte soporte de bibliotecas y comunidad activa

Gestión automática de memoria

Seguridad

Escalabilidad y rendimiento

3. Java

 ¿Porqué elegir java para POO?

  • Sintaxis limpia y legible.
  • Facilita la comprensión del código.
  • Utiliza palabras clave intuitivas y estructuras de control que se asemejan al lenguaje humano, lo que lo convierte en un lenguaje accesible para programadores novatos y experimentados.

Sintaxis clara y fácil de entender

3. Java

 ¿Porqué elegir java para POO?

  • Es altamente portátil, lo que significa que los programas escritos en Java pueden ejecutarse en cualquier plataforma que tenga una máquina virtual Java (JVM) instalada.
  • Esto se debe a que Java se compila en un bytecode independiente del Sistema Operativo, que se puede ejecutar.
  • La JVM, hace que los programas escritos en Java sean altamente interoperables.

Portabilidad

3. Java

 ¿Porqué elegir java para POO?

  • Amplia gama de bibliotecas estándar y de terceros que facilitan el desarrollo de aplicaciones.
  • Éstas cubren una amplia variedad de áreas, como la manipulación de archivos, el acceso a bases de datos, la creación de interfaces gráficas de usuario, la seguridad, las comunicaciones en red y mucho más.
  • Comunidad de desarrolladores, es muy activa, siempre se puede encontrar recursos, documentación y ayuda en línea.

Fuerte soporte de bibliotecas y comunidad activa

3. Java

 ¿Porqué elegir java para POO?

  • Recolector de basura (garbage collector) que se encarga de gestionar automáticamente la memoria utilizada por un programa.
  • Esto libera al programador de la responsabilidad de administrar la memoria manualmente, lo que reduce la posibilidad de errores de memoria, como fugas o acceso a memoria no válida.

Gestión automática de memoria

3. Java

 ¿Porqué elegir java para POO?

  • Diseñado desde su inicio con un enfoque en la seguridad.
  • La JVM ejecuta el bytecode Java en un entorno controlado, lo que ayuda a prevenir ataques maliciosos y protege contra vulnerabilidades de seguridad.
  • Además, Java proporciona herramientas y tecnologías para autenticación, cifrado, firma digital, control de acceso y más, lo que lo convierte en una elección popular para el desarrollo de aplicaciones seguras.

Seguridad

3. Java

 ¿Porqué elegir java para POO?

  • Ofrece una arquitectura robusta y escalable para el desarrollo de aplicaciones empresariales.
  • Las aplicaciones Java pueden manejar grandes volúmenes de datos y soportar una carga de trabajo pesada.
  • La JVM está altamente optimizada y cuenta con técnicas como la compilación Just-In-Time (JIT), que mejoran el rendimiento de los programas Java a medida que se ejecutan.

Escalabilidad y rendimiento

3. Java

 Palabras reservadas en java

Como en todo lenguaje, existen palabras reservadas que permiten hacer un programa más coqueto. En el caso de java se tiene una colección de las palabras reservadas más usadas vaya a la siguiente url:

https://www.frexus.dev/articulo/palabras-reservadas-en-java/

3. Java

Complete adecuadamente lo siguiente:

Actividad de aprendizaje

La palabra _____ permite indicar el inicio de una clase. Mientras que _____ se utiliza para indicar que el método, clase o constructor tendrá acceso diversas clases. Sin embargo ________ indica que la clase es heredada y _______ que es la clase principal. 

Pero para que identificar que los datos son decimales se usa _____ y _____ sino. _______ permite indicar que la variable acepta cadenas.

__ indica que se hará una toma de decisiones y ______ evalúa varios casos.

Los tres ciclos son: ___, ____ y ____

3. Java

Solución

Actividad de aprendizaje

La palabra class permite indicar el inicio de una clase. Mientras que public se utiliza para indicar que el método, clase o constructor tendrá acceso diversas clases. Sin embargo extend indica que la clase es heredada y super que es la clase principal. 

Pero para que identificar que los datos son decimales se usa float y int sino. string permite indicar que la variable acepta cadenas.

If indica que se hará una toma de decisiones y switch evalúa varios casos.

Los tres ciclos son: for, while y do

3. Java

https://www.frexus.dev/articulo/recomendaciones-para-programa-en-java/

Recomendaciones para programar en java

En la siguiente url se listan una serie de recomendaciones que deben tenerse en cuenta a la hora en que se inicia a programar en java.

3. Java

Actividad de aprendizaje

Identifica cuales son variables creadas correctamente en java

  • $value = 1;
  • int 1_value = 1:
  • int value
  • value = 1
  • int value = 1
  • string valor = 2341;
  • float value = 3.1415.
  • string variable = "hola mundo";

3. Java

Estructura de un programa en java

class NombredelaClase {
   public static void main (String[] args){
      //lineas de código
   }
}

3. Java

Mi primer programa en java

class NombredelaClase {
   public static void main (String[] args){
      System.out.println("Hola Mundo");
   }
}

3. Java

Donde pruebo mi código java

class NombredelaClase {
   public static void main (String[] args){
      System.out.println("Hola Mundo");
   }
}

https://www.jdoodle.com/online-java-compiler-ide/

3. Java

Temas

Instalar Java en mi compu

Operadores aritméticos en java

Operadores relacionales en java

Operadores lógicos en java

Estructura de control en java

Sintaxis de una estructura de control en java

3. Java

 ¿Cómo instalar Java?

Ir a la página de java.com

Descargar el kit de desarrollo, de acuerdo al sistema operativo que estes usando

Validar que se ha instalado.

3. Java

Operadores aritméticos en java

¿Cual es el operador que permite sumar?

¿Cúal es el operador que permite restar?

¿Cuál es el operador que permite multiplicar?

¿Cuál es el operador que permite dividir?

¿Cuál es el operador que permite obtener el residuo?

3. Java

Actividad de aprendizaje

Cree un programa en java donde se tiene dos variables con valores de 12 y 27 ahora calcule la suma, resta, multiplicación y división, así como el residuo de ambos al dividirlo entre dos.

3. Java

Operadores relacionales

¿Qué operador indica que es exactamente igual?

¿Qué operador indica una diferencia?

¿Qué operador indica mayor que?

¿Qué operador indica menor que?

3. Java

Actividad de aprendizaje

Indica ¿qué operación es verdadera o falsa?

3==3

3 != 6

2<5

9>10

3. Java

Operadores Lógicos

¿Qué operador hace una unión de tipo y?

¿Qué operador hace una unión de tipo o?

¿Qué operador hace una unión de tipo negación?

3. Java

Actividad de aprendizaje

¿Qué resultado habría en los siguientes ejercicios?

(5==7) && (4<2)

(3==3) || (3>9)

!(3!=3) || (9!=9)

3. Java

Estructura de control

¿Qué es una estructura de control?

3. Java

Sintaxis de una estructura de control

if (condicion){
    //Lineas a ejeutar
}else{
    //Lineas a ejecutar
}

3. Java

Sintaxis de una estructura de control en java

class Mayor {
    public static void main (String [] args){
       int n1 = 10; 
       // se crea una variable con el valor de 10.
       int n2 = 20; 
       // se crea una variable con el valor de 20.
       if (n1 > n2){  
       //se crea la condición con el operador relacional mayor que, observe que se coloca entre paréntesis
          System.out.println ("El mayor es: " + n1); 
          //Solo si se cumple la condición del if se entrara a esta sección.
       }else{
          System.out.println ("El mayor es: " + n2); 
          //Solo en caso contrario, es decir, sino se cumple la condición del if, se entra aquí.
      }
   }
}

3. Java

Actividad de aprendizaje

Cree un programa en java que permita evaluar si dos números son iguales, cual es el mayor o cual es el menor.

3. Java

Temas

  • ¿Qué es un ciclo? 
  • ¿Cuántos ciclos existen?
  • ¿Porqué existen los ciclos?
  • Estructura cíclica
  • Ciclo for
  • Ciclo while
  • ¿algún ciclo más?

3. Java

¿Qué es un ciclo?

General

un ciclo es una secuencia de acciones o eventos que se repiten de manera continua o periódica.

Otros

puede referirse a un patrón o secuencia recurrente, como el ciclo de las estaciones del año, el ciclo día-noche, el ciclo lunar, el ciclo de vida de un organismo, entre otros. Estos ciclos tienen una duración definida y se repiten en un orden predecible.

3. Java

¿Qué es un ciclo?

Programación

Permite ejecutar repetidamente un conjunto de instrucciones hasta que se cumpla una condición específica. Estas se repiten un número determinado de veces o hasta que se cumpla una condición de salida.

Son fundamentales para automatizar tareas y procesar datos de manera eficiente.

3. Java

¿Qué es un ciclo?

¿Cuántos ciclos existen?

  • for
  • while
  • do - while

3. Java

for?

Este ciclo se utiliza para iterar sobre una secuencia, como una lista, una cadena de caracteres o un rango de números. En cada iteración, una variable toma el valor de un elemento de la secuencia y el bloque de código dentro del ciclo se ejecuta.

Sintaxis

3. Java

Ciclo for

for (variable_iniciada; condición; incremento){
	#lineas de código
}

Actividad de aprendizaje

Crea un programa en java que permita imprimir los primeros 10 números naturales (0-9)

3. Java

Ciclo for

while?

Se repite mientras se cumpla una condición específica. La condición se verifica antes de cada iteración y, si es verdadera, el bloque de código dentro del ciclo se ejecuta. Si la condición se vuelve falsa, el ciclo se detiene y la ejecución continúa con el código después del ciclo.

Sintaxis

3. Java

Ciclo while

while (condición){
	// codigo a ejecutar
    incremento
}

Actividad de aprendizaje

Cree un programa en java que use el ciclo while imprima en pantalla los primeros 10 números naturales (0-9)

3. Java

do-while?

A diferencia del ciclo while, este ciclo se ejecuta al menos una vez antes de verificar la condición. Después de cada iteración, se verifica la condición y, si es verdadera, el ciclo se repite. Si es falsa, el ciclo se detiene.

Sintaxis

3. Java

Ciclo do - while

do{
	//codigo a ejecutar
} while (condición);

Escriba un código en java que permita imprimir en pantalla los primeros 10 números naturales usando el ciclo do - while. Después de ejecutar los tres ciclos indique en la tabla al calce, las diferencias que noto en cada uno

3. Java

Actividad de aprendizaje

For While Do - while


 

Escriba un programa en java que muestre cuales son los primeros 10 números pares e impares, se recomienda que se realice en los tres ciclos.

3. Java

Actividad de aprendizaje

For While Do - while


​​​​​​​

Temas

  • Solicitar datos de entrada.
  • Polimorfismo.
  • Herencia.
  • Comunicación entre objetos.

3. Java

Solicitar datos

al usuario

3. Java

Interacción

Solicitar datos a un usuario es una forma común de interactuar con un programa y obtener información necesaria para su funcionamiento. 

Logros

  1. Personalización.

  2. Entrada de datos dinámica.

  3. Validación de datos.

  4. Interacción y comunicación.

  5. Flexibilidad y adaptabilidad.

3. Java

Solicitar datos

Actividad de aprendizaje

  • Identifica seis aplicaciones que uses diariamente.
  • Completa la siguiente tabla

3. Java

App Datos que proporciono UX ¿Los datos son sensibles? ¿Se da un tratamiento especial a los datos que proporciono?


 


Solicitando datos de entrada

3. Java

import java.util.Scanner;

public class DatoTeclado {
    public static void main(String[] args) {
        // Crear un objeto Scanner para leer la entrada del usuario
        Scanner scanner = new Scanner(System.in);

        // Solicitar al usuario que ingrese su nombre
        System.out.print("Ingrese su nombre: ");
        String nombre = scanner.nextLine();
        
        // Imprimir los datos ingresados por el usuario
        System.out.println("Hola: " + nombre);

		// Cerrar el objeto Scanner
        scanner.close();
    }
}

Actividad de aprendizaje

3. Java

  1. Cree un programa en java que le pida al usuario el nombre del día en el que se encuentra.
  2. Luego concatene el día que da el usuario con la palabra: "Hoy". En pantalla debe de salir algo como: "Hoy es Martes"

Nota: para concatenar recuerde usar el símbolo de suma (+)

Solicitando datos enteros.

3. Java

import java.util.Scanner;

public class DatoTeclado {
    public static void main(String[] args) {
        // Crear un objeto Scanner para leer la entrada del usuario
        Scanner scanner = new Scanner(System.in);


        // Solicitar al usuario que ingrese su edad
        System.out.print("Ingrese su edad: ");
        int edad = scanner.nextInt();


        // Imprimir los datos ingresados por el usuario
        System.out.println("Su edad es: " + edad);

        // Cerrar el objeto Scanner
        scanner.close();
    }
}

Actividad de aprendizaje

  • Solicite al usuario que teclee su edad y el año actual.
  • Realice un programa en java con las operaciones necesarias para determinar el año en qué nació.
  • Imprima en pantalla la edad actual y el año en que nació. El resultado en la pantalla debe de ser algo similar a: "Su edad es 10 años y nació en el 2013"

3. Java

Solicitando decimales

3. Java

import java.util.Scanner;

public class DatoTeclado {
    public static void main(String[] args) {
        // Crear un objeto Scanner para leer la entrada del usuario
        Scanner scanner = new Scanner(System.in);

        // Solicitar al usuario que ingrese un número decimal
        System.out.print("Ingrese el valor de pi: ");
        double numeroDecimal = scanner.nextDouble();

        // Imprimir los datos ingresados por el usuario
        System.out.println("Valor de pi: " + numeroDecimal);

        // Cerrar el objeto Scanner
        scanner.close();
    }
}

Actividad de aprendizaje

3. Java

  • Solicite al usuario el diámetro de un circulo.
  • Cree un programa escrito en java que permita calcular el área del circulo dado.
  • Muestre en pantalla el valor del área, se debería apreciar una salida como: "El valor del área del circulo es: 22.33"

Herencia

3. Java

¿Herencia?

Permite la creación de jerarquías de clases, donde una clase derivada (subclase) hereda atributos y comportamientos de una clase base (superclase)

3. Java

Actividad de aprendizaje

3. Java

  1. En un área laboral identifica, los niveles jerárquicos, sus responsabilidades, características, responsabilidades adicionales.
  2. Crea los diagramas de clases, donde se muestre los atributos de cada puesto, y cuales serían heredados.

Herencia en java

3. Java

// Clase base (superclase)
class Vehiculo {
    protected String marca;

    public void conducir() {
        System.out.println("Conduciendo un vehículo...");
    }
}

// Clase derivada (subclase)
class Automovil extends Vehiculo {
    private int numPuertas;

    public void abrirPuertas() {
        System.out.println("Abriendo las puertas del automóvil...");
    }
}

// Clase principal
public class Auto {
    public static void main(String[] args) {
        Automovil miAuto = new Automovil();
        miAuto.marca = "Toyota";
        miAuto.conducir();
        miAuto.abrirPuertas();
    }
}

Actividad de aprendizaje

3. Java

De la actividad de aprendizaje anterior, crea el código en java correspondiente a las clases que definió. La clase principal debe de llevar el nombre de la empresa.

Poli

morfismo

3. Java

Es:

proviene de las palabras griegas "poly" (muchos) y "morphos" (formas), lo que significa "muchas formas".

En POO

Un objeto pueda comportarse de diferentes maneras según el contexto en el que se utiliza

3. Java

¿Qué es el polimorfismo?

3. Java

Actividad de aprendizaje

¿Existe el polimorfismo en la vida cotidiana?

Vida Real ¿Hay polimorfismo? S/N ¿por qué? Ejemplo
Vehículos
Animales
Profesiones

3. Java

Codificando el poli

// Clase base (superclase)
class Animal {
    public void hacerSonido() {
        System.out.println("El animal hace un sonido.");
    }
}

// Clases derivadas (subclases)
class Perro extends Animal {
    public void hacerSonido() {
        System.out.println("El perro ladra.");
    }
}

class Gato extends Animal {
    public void hacerSonido() {
        System.out.println("El gato maulla.");
    }
}

// Clase principal
public class Polimorfismo {
    public static void main(String[] args) {
        Animal animal1 = new Perro(); // Crear un objeto Perro y asignarlo a una referencia Animal
        Animal animal2 = new Gato();  // Crear un objeto Gato y asignarlo a una referencia Animal

        animal1.hacerSonido(); // Llamar al método hacerSonido() del objeto Perro
        animal2.hacerSonido(); // Llamar al método hacerSonido() del objeto Gato
    }
}

3. Java

Actividad de aprendizaje

Del ejemplo que se brindo, en la actividad anterior, genere el código en java donde se exprese el polimorfismo.

Programación Orientada Objetos

By Alfredo de Jesús Gutiérrez Gómez

Programación Orientada Objetos

Slides is a presentation platform for developers built on top of the reveal.js open source HTML presentation framework. We offer a wide range of developer-focused features like step-by-step code highlighting, a CSS editor, LaTeX typesetting and more.

  • 66