Looks like no one added any tags here yet for you.
Paradigma de Programacion
Enfoque o modelo conceptual que guia como se desarrolla y estructura el software.
Ejemplos de Paradigmas de Programacion
Programacion Estructurada, Programacion Orientada a Objetos, Programacion Funcional
Programacion Estructurada
Enfoque que genera programas bien escritos y legibles.
Se basa en la modularizacion y un diseño descendente.
Utiliza estructuras de control como secuencias, bucles y condicionales.
Programacion Orientada a Objetos (POO)
Se centra en el diseño y desarrollo de software basado en objetos.
Los objetos encapsulan datos y comportamientos relacionados.
Conceptos Clave de la Programacion Orientada a Objetos
Clase, Objeto, Abstraccion, Encapsulamiento, Herencia, Polimorfismo
Clase
Plantilla o plano que define las caracteristicas y comportamientos de los objetos.
Contiene Atributos (propiedades) y Metodos (comportamientos).
Ejemplo de Clase
public class Cliente {
String nombre;
String direccion;
String telefono;
public Cliente(
String nombre,
String direccion,
String telefono
) {
this.nombre = nombre;
this.direccion = direccion;
this.telefono = telefono;
}
}
Objeto
Instancia particular de una clase.
Puede almacenar datos y realizar acciones especificas.
Ejemplos de Objetos
Cliente cliente = new Cliente(nombreCliente, direccionCliente, telefonoCliente);
Scanner scanner = new Scanner(System.in);
Abstraccion
Propiedad que considera los aspectos mas significativos de un problema.
Representa la informacion en relacion con la interfaz y el usuario.
Una clase es la abstraccion de un tipo definido por el usuario.
Encapsulamiento
Agrupamiento de datos y operaciones relacionadas bajo una misma unidad de programacion.
Oculta los detalles internos de un objeto.
Aumenta la cohesion y la ocultacion de datos.
Herencia
Mecanismo que permite crear subclases a partir de una superclase.
Las subclases heredan atributos y metodos de la superclase.
Fomenta la reutilizacion de codigo y la organizacion jerarquica.
Polimorfismo
Propiedad que permite a una operacion tener el mismo nombre en clases diferentes y actuar de modo distinto en cada una.
Se resuelve en tiempo de ejecucion.
Ejemplo de Polimorfismo
// Clase base
public abstract class FiguraGeometrica {
public abstract double calcularArea();
public abstract double calcularPerimetro();
}
public class Circulo extends FiguraGeometrica {
private double radio;
public double calcularArea() {
return Math.PI * radio * radio;
}
public double calcularPerimetro() {
return 2 * Math.PI * radio;
}
}
public class Rectangulo extends FiguraGeometrica {
private double lado1, lado2;
public double calcularArea() {
return lado1 * lado2;
}
public double calcularPerimetro() {
return 2 * (lado1 + lado2);
}
}
public class Triangulo extends FiguraGeometrica {
private double base, altura, hipotenusa;
public double calcularArea() {
return 0.5 * base * altura;
}
public double calcularPerimetro() {
return base + altura + hipotenusa;
}
}
// Al llamar un objeto y calcular
Triangulo triangulo = new Triangulo(3.0, 4.0, 5.0);
double area = triangulo.calcularArea();
System.out.println("El area del triangulo es: " + area);
Ventajas de hacer popo
Reutilizacion de codigo, modularidad, abstraccion, mantenibilidad, flexibilidad.
Modelado del mundo real, colaboracion en equipo.
Dificultades de hacer popo
Conceptos confusos al principio, diseño complejo, herencia compleja.
Posible sobrecarga de rendimiento, reutilizacion excesiva, curva de aprendizaje.
Origen de Java
Nacio en 1991 con el nombre “Oak”, luego “Green” y finalmente “Java”.
Se puede desarrollar con Java
Aplicaciones de Android, web y software general.
Procesamiento de Big Data.
Entornos de Desarrollo para Java
Eclipse
IntelliJ IDEA
JCreator
NetBeans
Propiedades que debe Tener un Programa en Java
Legibilidad
Correccion
Eficiencia
Proceso clásico de desarrollo de software
Especificacion
Diseño
Codificacion
Prueba
Mantenimiento
Especificación
•en esta fase se decide la funcionalidad, características técnicas y condiciones de uso de la aplicación.
Diseño
•se define la arquitectura de la aplicación detallando la estructura y organización del programa y como se relacionan las distintas partes de la aplicación.
Codificación
•consiste en la escritura del código de acuerdo a las especificaciones de diseño.
Prueba
•en esta fase se compila y ejecuta la aplicación para verificar que se cumplen con los requisitos funcionales.
Mantenimiento
en esta fase se corrigen errores de funcionamiento, se modifica la funcionalidad o se añaden nuevas funcionalidades.
Importancia de los Comentarios
Claridad y Comprension
Documentacion del Codigo
Colaboracion
Facilita la Depuracion
Repaso y Aprendizaje
Variable (identificador)
Debe empezar con una letra, pero puede estar seguida de mas letras o digitos.
Para nombres compuestos, deben empezar con minusculas y la segunda palabra con mayuscula. (calcularEdad, notaEstudiante)
Formato para Nombres de Clase
empiezan siempre con mayúsculas. En los nombres compuestos, cada palabra comienza con mayúscula y no se debe utilizar guión bajo para separar las palabras.
Ejemplos: Matemática, Profesor, DatosDelCliente.
Formato para Constantes
se escriben en mayúsculas Para nombres compuestos, se utiliza guión bajo para separar palabras.
Ejemplos: PI, ITBMS, SEGURO_SOCIAL, SEGURO_EDUCATIVO.
Tipos de datos primitivos en java
byte
short
int
long
float
double
char
boolean
Operadores Aritmeticos
+
-
*
/
%
Operadores de Asignacion
=
+=
-=
*=
/=
%=
Operadores de Comparacion
==
!=
<
>
<=
>=
Operadores Logicos
&&
| |
!
public class Vehiculo{
String matricula;
String marca;
String modelo;
String color;
double tarifa;
Boolean disponible;
public Vehiculo(
String matricula,
String marca,
String modelo,
String color,
double tarifa.
Boolean disponible
) {
this.matricula = matricula;
this.marca = marca;
this.modelo = modelo;
this.color = color;
this.tarifa = tarifa;
this.disponible = disponible;
}
}
Ciclo de vida de un objeto
Declaracion
Instanciacion
Uso en el programa
Tipos de Acceso
private (solo se pueden acceder desde la propia clase que los define)
public (se pueden acceder libremente desde otras clases
protected (se accede desde la clase que los define y desde sus subclases
Tipos de Metodos
Metodos de consulta (metodos get)
Metodos modificatores (metodos set)
Operaciones (definen el comportamiento del objeto)
Se invoca cuando se ejecuta un programa de Java. Todo programa debe tener este metodo.
Metodo main()
public static void main(String[] args)
UML
Lenguaje de Modelado Unificado
Ventajas de UML
Proporciona a los usuarios un lenguaje modelado visual listo para que puedan desarrollar modelos significativos
Proporciona mecanismos para ampliar conceptos basicos
Es independiente de lenguajes de programacion
Proporciona una base formal par comprender el lenguaje de modelado
Integra las mejores practicas
Ejemplo de diagrama de clase UML
Tipos de relaciones
Asociacion
Agregacion
Composicion
Dependencia
Herencia
Asociacion
Es el tipo de relacion mas comun y se utiliza para representar dependencia semantica.
Agregacion
Indica a un objeto y las partes que componen ese objeto.
Composicion
Representa la relacion jerarquica entre un objeto y las partes que lo componen, y si el primero no existe, los otros no tienen sentido de existencia.
Dependencia
Representa que una clase requiere de otra para ofrecer sus funcionalidades
Herencia
Permite que una clase reciba los atributos y metodos de otra clase
Pasos para dibujar un diagrama de clase
Identificar los nombres de las clases
Distingue las relaciones
Crea la estructura
skill issue tun tun tun tun tun tun tun tun