Clases y Objetos
Clases y Objetos
Clases y Objetos
}
}
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Identificadores
Un identificador le da nombre único a un elemento en un programa
(Variables, procedimientos, etc.).
• No puede contener operadores como + - * /
• Debe iniciar con letra o el guion bajo ( _ )
• Puede tener cualquier longitud
• Puede contener mayúsculas y minúsculas
• En un identificador sí se hace diferencia entre mayúsculas y
minúsculas. De esta manera, “suma” es diferente de “Suma”
• No debe ser una palabra reservada
PROGRAMACIÓN ORIENTADA A OBJETOS
Tipos de Datos
• int número entero
• double número flotante
• char un solo carácter
• string cadena de caracteres
• bool booleano (Verdadero, Falso)
• DateTime fecha/hora
PROGRAMACIÓN ORIENTADA A OBJETOS
Declaración de Variables
string Nombre;
int HorasTrabajadas;
double SueldoPorHora;
char Otro;
También se pueden inicializar las variables al mismo tiempo que se declaran:
string Nombre = “Juan”;
int HorasTrabajadas = 40;
double SueldoPorHora = 150.00;
char Otro = 'N';
PROGRAMACIÓN ORIENTADA A OBJETOS
Impresión de información (Proyectos de Consola)
Parámetros de sustitución
Console.WriteLine (" Nombre: " + Nombre);
Concatenación
PROGRAMACIÓN ORIENTADA A OBJETOS
Sentencias using
Nombre = Console.ReadLine();
HorasTrabajadas = Convert.ToInt32(Console.ReadLine());
HorasTrabajadas = int.Parse(Console.ReadLine());
PROGRAMACIÓN ORIENTADA A OBJETOS
Cálculos y Asignaciones
Bonos = 200;
+ Suma
- Resta Jerarquía:
* Multiplicación Primero se ejecutan * / (el que está más a la izuierda)
Después se ejecutan + - (el que está más a la izuierda)
/ División Los paréntesis alteran la jerarquía
% Residuo de división entera
= Igualdad
++ Incremento en 1
-- Decremento en 1
PROGRAMACIÓN ORIENTADA A OBJETOS
Operadores de asignación adicionales
Sirven para simplificar expresiones de asignación. Ejemplos:
a += 5 → a = a + 5
a -= 5 → a = a - 5
a *= 5 → a = a * 5
a /= 5 → a = a / 5
class nombre_de_la_clase
{
//contenido de la clase …
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Dentro de la clase…
Ejemplo en un paso:
ClaseA miobjetoA = new ClaseA();
PROGRAMACIÓN ORIENTADA A OBJETOS
Accediendo a los miembros de los objetos
• Asignación:
miobjetoA . Numero2 = 50;
Nombre
Selección Miembro Operación
del objeto
• Lectura:
miVariable = miobjetoA.Numero2;
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicio
Un método contiene:
• Modificador de Acceso (Determina su visibilidad)
• Tipo de dato (Devuelto al finalizar su ejecución)
• Identificador (Nombre con el cual se invoca)
• Parámetros (Cero o mas variables que recibe el método)
PROGRAMACIÓN ORIENTADA A OBJETOS
La referencia this
• Para hacer referencia (explícita) a un elemento que se encuentra dentro de la misma clase (ésta)
se utiliza “this”.
class Articulo {
private double precio;
public void Articulo() {
precio = 0;
}
public void setPrecio (double precio ){
this.precio = precio;
}
public double getPrecio() {
return this.precio;
}
}// fin de la clase
PROGRAMACIÓN ORIENTADA A OBJETOS
La referencia this…
class Programa {
static void Main() {
double precio=0;
Articulo art = new Articulo();
art.setPrecio(34.00);
precio=art.getPrecio();
Console.WriteLine(precio);
Console.ReadLine();
}
}// fin de la clase
PROGRAMACIÓN ORIENTADA A OBJETOS
Codificación de la referencia this
class Persona {
private string nombre;
private int edad;
public void ModificarDatos(string nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Sobrecarga
• Se refiere a la posibilidad de crear métodos que posean el mismo nombre y
difieran en la cantidad y/o tipo de parámetros (firma).
• No es posible crear 2 funciones con el mismo identificador que solo difieran
en el tipo de dato devuelto (misma firma).
class Empleado {
~Empleado() {
Console.WriteLine("Se ha destruido el Empleado ");
Console.ReadLine();
}
}
Trabaja cuando:
• Hay poca memoria disponible.
• La aplicación está finalizando.
• El programador lo invoca manualmente (NO recomendado):
System.GC.Collect();
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
• Utilizando POO diseñe una clase para un rectángulo, añada los métodos
necesarios (un método por fórmula) para obtener:
❑ El área:
A=a*b
❑ El perímetro:
P = 2(a + b)
❑ La diagonal:
d = √(a2 - b2)
❑ El radio de la circunferencia circunscrita:
R = √(a2 - b2)/2
PROGRAMACIÓN ORIENTADA A OBJETOS
Operadores Relacionales Operadores Lógicos
if (condicion)
{
//Qué pasa si la condición es Verdadera
}
else
{
//Qué pasa si la condición es Falsa
}
La Decisión puede ser SIN PARTE FALSA
PROGRAMACIÓN ORIENTADA A OBJETOS
Selección Múltiple
int variable = 1;
switch (variable)
{
case 1: Console.WriteLine(“1”);
break;
case 2: Console.WriteLine(“2”);
break;
case 3: Console.WriteLine(“3”);
break;
default: Console.WriteLine(“Otro”);
break;
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Ciclo for() { }
while ( condicion )
{
//cuerpo del ciclo…
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Ciclo do { } while( )
do
{
//cuerpo del ciclo…
} while ( condicion );
PROGRAMACIÓN ORIENTADA A OBJETOS
Namespace
Ejercicio de sobrecarga
Práctica de sobrecarga