domingo, 9 de abril de 2023

Herencia y polimorfismo en C#


Herencia y polimorfismo
=====================
1.

Solucion:

public class Person
    {
        private string name { get; set; }
        private string lastname { get; set; }
        private int age { get; set; }

        public Person(string name, string lastname, int age)
        {
            this.name = name;
            this.lastname = lastname;
            this.age = age;
        }

        public virtual string ShowData()
        {
            return name + "\n" + lastname + "\n" + age;
        }
    }

public class Student : Person
    {
        public int code { get; set; }
        public double finalNote { get; set; }

        public Student(string name, string lastname, int age, int code, double finalNote) : base(name, lastname, age)
        {
            this.code = code;
            this.finalNote = finalNote;
        }

        public override string ShowData()
        {
            return base.showData() + "\n" + code + "\n" + finalNote;
        }
    }

public class Program
    {
        static void Main(string[] args)
        {
            Student obj = new Student("David", "Perez", 23, 666, 18);
            Console.WriteLine(obj.showData());
            Console.ReadLine();
        }
    }

2. La empresa ABC, desea implementar una aplicación orientada a objetos, para registrar los trabajadores, los cuales están conformados por: Empleados, Vendedores, Directores y Practicantes.

La clase Trabajador (Padre) cuenta con los siguientes atributos:
DNI, NOMBRE, APELLIDO, FECHA INGRESO y CARGO.
Esta clase se definen los siguientes métodos:
Básico:
      cargo es Administrativo, sueldo básico es 4500.
      cargo es Auxiliar, sueldo básico es 1800.
      cargo es Seguridad, sueldo básico es 2500.
Deducción: el cual representa el 5% de su Sueldo Básico.
Neto que es la diferencia entre básico y Deducción.

____
A partir de la clase Trabajador, creamos la clase heredada Empleado, la cual hereda todos los atributos y métodos del padre.

Para esta clase el método bonificación se calcula:
si el cargo es Administrativo o Seguridad, representa el 5% del básico, si es Auxiliar es el 10% del básico.

La Deducción representara el 10% de la suma de básico y bonificación
El neto es Básico más bonificación menos la Deducción 

Defina las clases
Dibuja la GUI para el hijo Director
Programa el botón, instancia la clase, ingresa los datos y visualiza los resultados.

Solucion:

public class Worker
    {
        public string dni { get; set; }
        public string name { get; set; }
        public string lastname { get; set; }
        public DateTime admissionDate { get; set; }
        public string position { get; set; }


        public double Basic()
        {
            double basicSalary = 0.0;
            switch (position)
            {
                case "Administrativo":
                    basicSalary = 4500;
                    break;
                case "Auxiliar":
                    basicSalary = 1800;
                    break;
                case "Seguridad":
                    basicSalary = 2500;
                    break;
                default:
                    break;
            }
            return basicSalary;
        }

        public virtual double Deduction()
        {
            return 0.05 * Basic();
        }

        public virtual double Net()
        {
            return Basic() - Deduction();
        }
    }

public class Employee : Worker
    {

        public double Bonus()
        {
            double bonus = 0;
            if (position == "Administrativo" || position == "Seguridad")
            {
                bonus = 0.05 * Basic();
            }
            else if (position == "Auxiliar")
            {
                bonus = 0.1 * Basic();
            }
            return bonus;
        }

        public override double Deduction()
        {
            return 0.1 * (Basic() + Bonus());
        }

        public override double Net()
        {
            return (Basic() + Bonus()) - Deduction();
        }
    }

Button:
Employee obj = new Employee();
            obj.dni = txtDni.Text;
            obj.name = txtName.Text;
            obj.lastname = txtLastname.Text;
            obj.admissionDate = dtAdmissionDate.Value;
            obj.position = cboPosition.Text;

            dgEmployee.Rows.Add(obj.dni, obj.name, obj.lastname, obj.admissionDate, obj.position, obj.Basic(), obj.Deduction(), obj.Net());

jueves, 6 de abril de 2023

Atajos de Teclado Eclipse

Atajos de Teclado Eclipse
==========================

Auto Import:  Ctrl + Shift + O
Formatear Codigo:  Ctrl + Alt + L

sábado, 1 de abril de 2023

Conexion a la base de datos con MYSQL en JAVA

Conexión a la base de datos con MYSQL en JAVA
========================================


public class ConexionDB {
   private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
   private static final String DB = "dbtest";
   private static final String URL = "jdbc:mysql://localhost:3306/";
   private static final String USER = "root";
   private static final String PASSWORD = "";

   public static Connection getConnection() {
        Connection conn = null;
        try {
            Class.forName(DRIVER);
            conn = DriverManager.getConnection(URL + DB, USER, PASSWORD);
            System.out.println("Successful Connection! ");
        } catch (ClassNotFoundException e) {
          System.out.println("Driver not found for database");
        } catch (SQLException e) {
          System.out.println("Failed 
Connection!" + e.getMessage());
        }
        return conn;
    }
}

Instalar Powershell 7

Instalar Powershell Version 7 -------------------------------------- $> winget search powershell $> winget install Microsoft.Powershe...