jueves, 13 de abril de 2023

Objetos, propiedades y eventos

  Listado:


1. Botón: Un botón es un elemento interactivo que puede hacer que ocurra algo cuando se hace clic en él. Puede tener propiedades como su etiqueta (texto en el botón), tamaño, color, ubicación en la pantalla, entre otros. El evento más común para un botón es "Click".




2. Cuadro de texto: Un cuadro de texto es un elemento que permite al usuario ingresar texto. Puede tener propiedades como su tamaño, ubicación en la pantalla, tipo de texto que se espera que se ingrese, entre otros. Los eventos más comunes para un cuadro de texto son "TextChanged" (cuando el texto dentro del cuadro cambia) y "LostFocus" (cuando el usuario deja el cuadro de texto).




3. Etiqueta: Una etiqueta es un elemento que muestra texto estático en la pantalla. Puede tener propiedades como su tamaño, ubicación en la pantalla, color y tamaño de fuente. Las etiquetas no tienen eventos asociados, ya que no se espera que el usuario interactúe con ellas.




4. Lista desplegable: Una lista desplegable es un elemento que permite al usuario seleccionar una opción de una lista. Puede tener propiedades como su tamaño, ubicación en la pantalla y opciones disponibles. El evento más común para una lista desplegable es "SelectedIndexChanged" (cuando el usuario cambia la selección de la lista).




5. Casilla de verificación: Una casilla de verificación es un elemento que permite al usuario seleccionar una opción. Puede tener propiedades como su tamaño, ubicación en la pantalla y etiqueta asociada (texto que se muestra junto a la casilla). El evento más común para una casilla de verificación es "CheckedChanged" (cuando el usuario marca o desmarca la casilla).




6. Barra de desplazamiento: Una barra de desplazamiento es un elemento que permite al usuario desplazarse por contenido que no cabe completamente en la pantalla. Puede tener propiedades como su tamaño y ubicación en la pantalla, junto con el rango de valores disponibles. El evento más común para una barra de desplazamiento es "ValueChanged" (cuando el usuario cambia el valor de la barra).




7. Panel: Un panel es un elemento que permite agrupar otros elementos y organizarlos en la pantalla. Puede tener propiedades como su tamaño, ubicación en la pantalla y color de fondo. Los paneles no tienen eventos asociados, ya que no se espera que el usuario interactúe directamente con ellos.




8. Radio Button: Un Radio Button es un elemento que permite al usuario seleccionar una opción de un conjunto de opciones. Puede tener propiedades como su tamaño, ubicación en la pantalla y etiqueta asociada (texto que se muestra junto al botón). El evento más común para un Radio Button es "CheckedChanged" (cuando el usuario selecciona un botón).




9. Imagen: Una imagen es un elemento que muestra una imagen en la pantalla. Puede tener propiedades como su tamaño, ubicación en la pantalla y archivo de imagen asociado. Las imágenes no tienen eventos asociados, ya que no se espera que el usuario interactúe directamente con ellas.




10. Menú: Un menú es un elemento que muestra opciones disponibles para el usuario. Puede tener propiedades como su ubicación en la pantalla y opciones disponibles.

clases abstractas, estáticas e interfaces

 

Característica

Clases abstractas

Clases estáticas

Interfaces

Propósito

Servir como base para otras clases

Agrupar funciones relacionadas y datos

Declarar un conjunto de métodos que una clase debe implementar

Uso de instancias

No se pueden instanciar directamente, solo se pueden usar como base para otras clases

No se pueden instanciar, se usan directamente desde la clase

No se pueden instanciar, solo se usan para definir una serie de métodos

Implementación de métodos

Pueden tener tanto métodos abstractos como concretos

Pueden tener solo métodos estáticos

Solo tienen la declaración de los métodos, sin implementación

Herencia

Pueden ser heredadas por otras clases

No pueden ser heredadas ni heredar de otras clases

Pueden ser implementadas por cualquier clase que quiera utilizar sus métodos

Modificadores de acceso

Pueden tener cualquier modificador de acceso

Solo pueden tener el modificador de acceso "static"

Todos los métodos y propiedades son públicos por defecto

Flexibilidad

Son menos flexibles que las interfaces, pero más flexibles que las clases estáticas

Son menos flexibles que las clases abstractas e interfaces

Son las más flexibles de las tres, ya que cualquier clase puede implementar una interfaz sin importar su jerarquía de clases

Ejemplo de uso

Una clase abstracta "Animal" con métodos comunes para todas las subclases de animales, como "respirar" o "moverse".

Una clase estática "Math" con métodos para operaciones matemáticas comunes, como "abs" o "pow".

Una interfaz "Serializable" que define el método "serialize" para guardar un objeto en un archivo o base de datos.

REDA: Aplicaciones multiplataforma basadas en POO

 Código: 


public class Main{


    


public class Persona {


    private String nombre;


    private String apellidos;


    private int numIdentificacion;


    private String estadoCivil;




    public Persona(String nombre, String apellidos, int numIdentificacion, String estadoCivil) {


        this.nombre = nombre;


        this.apellidos = apellidos;


        this.numIdentificacion = numIdentificacion;


        this.estadoCivil = estadoCivil;


    }




    public void cambiarEstadoCivil(int numIdentificacion, String estadoCivil) {


        if (this.numIdentificacion == numIdentificacion) {


            this.estadoCivil = estadoCivil;


        }


    }


}




public class Empleado {


    private int anioIncorporacion;




    public Empleado(int anioIncorporacion) {


        this.anioIncorporacion = anioIncorporacion;


    }


}




public class Administrativo extends Empleado {


    private static final int numIdentificacion = 0;


    private String dependencia;




    public Administrativo(int anioIncorporacion, String dependencia) {


        super(anioIncorporacion);


        this.dependencia = dependencia;


    }




    public void cambiarDependencia(int numIdentificacion, String dependencia) {


        if (this.numIdentificacion == numIdentificacion) {


            this.dependencia = dependencia;


        }


    }


}




public class ServiciosVarios extends Empleado {


    private static final int numIdentificacion = 0;


    private String labor;




    public ServiciosVarios(int anioIncorporacion, String labor) {


        super(anioIncorporacion);


        this.labor = labor;


    }




    public void cambiarLabor(int numIdentificacion, String labor) {


        if (this.numIdentificacion == numIdentificacion) {


            this.labor = labor;


        }


    }


}




public class Profesor extends Empleado {


    private static final int numIdentificacion = 0;


    private String facultad;




    public Profesor(int anioIncorporacion, String facultad) {


        super(anioIncorporacion);


        this.facultad = facultad;


    }




    public void cambiarFacultad(int numIdentificacion, String facultad) {


        if (this.numIdentificacion == numIdentificacion) {


            this.facultad = facultad;


        }


    }


}




public class Estudiante extends Persona {


    private String curso;




    public Estudiante(String nombre, String apellidos, int numIdentificacion, String estadoCivil, String curso) {


        super(nombre, apellidos, numIdentificacion, estadoCivil);


        this.curso = curso;


    }




    public void matricularEnCurso(int numIdentificacion, String curso) {


        if (this != null);


    }


}


}

Mapa mental-informe final de auditoría