0% encontró este documento útil (0 votos)
1 vistas19 páginas

Poo PDF

El documento presenta una introducción a la Programación Orientada a Objetos (POO), explicando conceptos clave como clases, abstracción, encapsulamiento, herencia, polimorfismo y modularidad. Se incluyen ejemplos de código en Java para ilustrar la creación de clases y métodos, así como ejercicios prácticos relacionados con la gestión de estudiantes y un inventario de productos. Además, se abordan aspectos de la creación de constructores y la manipulación de atributos dentro de las clases.

Cargado por

Oswany
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas19 páginas

Poo PDF

El documento presenta una introducción a la Programación Orientada a Objetos (POO), explicando conceptos clave como clases, abstracción, encapsulamiento, herencia, polimorfismo y modularidad. Se incluyen ejemplos de código en Java para ilustrar la creación de clases y métodos, así como ejercicios prácticos relacionados con la gestión de estudiantes y un inventario de productos. Además, se abordan aspectos de la creación de constructores y la manipulación de atributos dentro de las clases.

Cargado por

Oswany
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Introducción a POO

(Programación orientada a objetos)

Clase: es la plantilla en la que se puede


instanciar un conjunto de objetos.

Características:
- Abstracción
- Encapsulamiento
- Herencia
- Polimorfismo
- Modularidad
Abstracción: permite simplificar la complejidad
del sistema, al definir clases, que representar
conceptos abstractos del mundo real

Encapsulamiento: consiste en agrupar los


datos (Atributos) y los métodos que operan
sobre estos datos en una única unidad: La
Clase. Protege los datos de acceso directo
desde fuera de la clase y solo permite
interactuar a través de métodos y ejercicios.

Herencia: Permite crear nuevas clases a


partir de clases existentes, facilitando la
reutilización del código. Las clases derivadas
(hijas) heredan propiedades y métodos de las
clases bases (padres), lo que promueve la
jerarquía de clases.
Polimorfismo: Permite que los objetos de
diferentes clases se traten como un objeto de
clase común. Proporciona la capacidad de
llamar a métodos en un objeto sin saber a qué
clase pertenecen, lo que permite que el
mismo método funcione de diferentes
maneras en diferentes clases.

modularidad: divide un programa en módulos


más pequeños (clases) lo que pueden ser
desarrolladas, probadas y depuradas de
forma independiente.
Esto facilita el mantenimiento y la
colaboración en proyectos grandes.
Ejemplo:

Menú: Clase

Color
Núm patas
Forma
Material Mesa
Mat. patas Características
(Atributos)
alto
ancho
largo
soporte

Acciones (Métodos) - Aportar objetos


- Levantar
- Mover
- Desarmarla
Ejemplo codigo:
package poo1;

public class Mesa {

int numPatas;
int ancho;
int largo;
int alto;
String forma;
String color;

void mover(){
System.out.println("moviendo la mesa");
}
void apoyar(String objeto) {
System.out.println("Apoyando objeto" + objeto + "Sobre la
mesa" );

}
void destruir(){
System.out.println("Destruyendo la mesa");

}
{

}
Ejercicio: gestión de estudiantes,es una escuela se necesita un
registro de los estudiantes, cada estudiante tiene un nombre, edad y
un conjunto de calificaciones.

Se necesita un sistema que permita:


1-Registrar nuevos estudiantes
2-Agregar nuevas calificaciones para los estudiantes
3-calcular el promedio de las calificaciones de cada estudiante
4-determinar si un estudiante ha aprobado o no basándose en su
promedio( 8 o superior aprobado)
-CLASE ejercicioestudiantes
import java.util.Scanner;
import java.util.ArrayList;
public class Ejercicioestudiantes {

private static ArrayList<estudiante> Alumnos = new ArrayList<>();

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner teclado = new Scanner(System.in);


boolean salida = false;
while (!salida) {
System.out.println("\nSeleccione una opción:");
System.out.println("1. Agregar estudiante");
System.out.println("2. Promediar calificaciones de cada estudiante");
System.out.println("3. Mostrar estudiantes aprobados y desaprobados");
System.out.println("4. Salir");
int opciones = teclado.nextInt();
teclado.nextLine();
switch (opciones) {

case 1:
addEstudiante(teclado);
break;
case 2:
promedioCalificacion(teclado);
break;
case 3:
listEstudiantes(teclado);
break;
case 4:
salida = true;
break;
default:
System.out.println("Opcion no valida, Intente de nuevo. ");
4

private static void addEstudiante(Scanner teclado) {


System.out.println("Ingrese el alumno a agregar:");
estudiante alumno1 = new estudiante();
alumno1.nombre = teclado.nextLine();
alumno1.edad = teclado.nextInt();
alumno1.Calificaciones = addCalificaciones();
}
private static void addCalificaciones(Scanner teclado) {
System.out.print("Ingrese un nombre para agregar: ");
String name = teclado.nextLine().trim();
if (names.contains(name.toLowerCase())) {
System.out.println("El nombre ya existe en la lista.");
} else {
System.out.print("Ingrese la edad de " + name + ": ");
int age = scanner.nextInt();
scanner.nextLine();

private static void promedioCalificacion(Scanner teclado) {


if (Alumnos.isEmpty()) {
System.out.println("No hay edades en la lista para calcular el promedio.");
} else {
double sum = 0;
for (Integer calificaciones :) {
sum += calificaciones;
}
double average = sum / Alumnos.size();
System.out.println("El promedio de edades es: " + average);
}
}

CLASS estudiantes:
import java.util.ArrayList;
public class estudiante {
String nombre;
int edad;
ArrayList<Integer> Calificaciones = new ArrayList<>();
}
Ej: inventario de productos

Una tienda tiene un inventario de productos. Cada producto tiene un


nombre un precio y una cantidad de stock, es necesario un sistema
que permita:

- registrar nuevos productos en el inventario


- modificar la cantidad del stock de los productos
- calcular el valor total de un producto en base de su precio y
cantidad
- determinar el valor total del todo el inventario de la tienda
Clase Tienda :
package Santiago;
import java.util.Scanner;
import java.util.ArrayList;

public class Tienda {

private static ArrayList<Inventario> producto = new ArrayList<>();

public static void main(String[] args) {


// TODO Auto-generated method stub

Scanner teclado = new Scanner(System.in);


boolean salida = false;
while (!salida) {
}
System.out.println("\nSeleccione una opción:");
System.out.println("1. Agregar productos");
System.out.println("2. Modificar la cantidad del stock ");
System.out.println("3. Calcular el valor total de un producto ");
System.out.println("4. Calular el valor total del inventario ");
System.out.println("5. Salir");
int opciones = teclado.nextInt();
teclado.nextLine();
switch (opciones) {

case 1:
addProducto(teclado);
break;
case 2:
modifyStock(teclado);
case 3:
calcularProducto(teclado);
case 4:
calcularInventario(teclado);
case 5:
salida = true;
break;
default:
System.out.println("Opcion no valida, Intente de nuevo.");

}
teclado.close();
}
public static void addProducto(Scanner teclado) {

System.out.println("Ingrese el producto a agregar.");


Inventario producto1 = new Inventario();
producto1.producto = teclado.nextLine();
System.out.println("Ingrese el precio del producto");
producto1.precio = teclado.nextInt();
System.out.println("Ingrese el stock del producto");
producto1.stock = teclado.nextInt();

public static void modifyStock(Scanner teclado) {


if (producto.isEmpty()) {
System.out.println("No hay nombres en la lista");
}else {
System.out.println("Ingrese el nombre que desea modificar: ");
String producto = teclado.nextLine();
int index = producto.indexOf(producto);
if(index !=1) {
System.out.println("Ingrese el nuevo nombre");
int newProducto = teclado.nextInt();

}
}
}
public static void calcularProducto(Scanner telcado) {

public static void calcularInventario(Scanner teclado) {

}
}

Class Inventario:
package Santiago;
import java.util.ArrayList;
public class Inventario {

String producto;
int precio;
int stock;

ArrayList<Integer> ValorTotal = new ArrayList<>();


}
Cuenta clase

private double saldo = 0


“ int numCuenta;
“ String NomTitular;

private double getsaldo(String usuario)


if (usuario.equals(“Admin”);

return saldo;
else
return 0;

private void setsaldo (double deposito)

if (deposito < 0){


syso(“el deposito no puede ser negativo”);
} else {
saldo = saldo + deposito;
syso(“Saldo actualizado”);

private double getNumCuenta(String usuario)

ppal clase

Cuenta c1 = new Cuenta();


c1.setnombretitular(“pepe”);
c1.setnumcuenta
c1.setsaldo
c1.setsaldo
double saldoCtaAdmin = c1.getsaldo(usuario:”administrador”);

syso(c1.nombretitual();
syos(c1.getnumcuenta());
syso(saldoCtaAdmin());
Constructores (nuevo tema)

crea automáticamente los atributos


no necesita retorno
siempre estarán en público
Siempre tienen que tener el mismo nombre de la clase

Clase persona:

public class persona {

Private String nombre;

Private int edad;


Private double Estatura;

Constructor(

Public Persona(String nombre, int edad, double Estatura){


this.nombre = nombre;
this.edad = edad;
this.Estatura = estatura;

public String getNombre(){


return Nom;

public void setNombre(String newNombre){


Nom = newNombre
}

public int getEdad ();


return Edad;
}

public void setEdad (Int newEdad)


edad = nuevaEdad
}
public double getEstatura();
return Estatura;
}

public void setEstarura(Double newEstatura)


Estatura = newEstatura;
}

Clase contructor1 (MAIN)

Persona juan = new Persona(

nombre: “Juan Perez”,


edad: 23,
estatura 1.58
);

syso (juan.setNom());
syso (juan.setEdad());
syso (juan.setEstatura());

entonces si hacemos 2 personas tenemos que hacer persona1,


persona2, persona3, con las mismas variables.
siempre haz construcciones para persona1, persona2, persona3…
proyecto:

discriminantes, raices, vertices

También podría gustarte