SlideShare una empresa de Scribd logo
1 de 60
TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 2: Clases y Objetos
www.itsguasave.edu.mx
PROGRAMACIÓN ORIENTADA A OBJETOS
Competencia de la unidad:
Aplica los conceptos de clases y objetos en el desarrollo de
programas para solución de problemas de acuerdo al
paradigma orientado a objetos.
Lenguaje de programación a utilizar
• C # (Visual Studio para trabajar en modo consola)
PROGRAMACIÓN ORIENTADA A OBJETOS
Estructura básica de un programa en C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
//declaración de variables globales
static void Main(string[] args)
{
}
}
}
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)
Console.WriteLine (" Hola ");
Console.WriteLine( Sueldo );
Console.WriteLine ( " Mi nombre es {0} y gano {1} ", Nombre, Sueldo);
Console.WriteLine (" Nombre: " + Nombre);
PROGRAMACIÓN ORIENTADA A OBJETOS
Parámetros de sustitución
Concatenación
Sentencias using
Si se agregan al inicio de la clase, NO es necesario repetirlas en cada
instrucción.
Por ejemplo, si al inicio de la clase se agrega:
using System;
puede usarse durante toda la clase:
Console.WriteLine( “ Hola Mundo ” );
en lugar de:
System.Console.WriteLine( “Hola Mundo ” );
PROGRAMACIÓN ORIENTADA A OBJETOS
Pedir Datos (captura en proyectos de consola)
Nombre = Console.ReadLine();
HorasTrabajadas = Convert.ToInt32(Console.ReadLine());
HorasTrabajadas = int.Parse(Console.ReadLine());
PROGRAMACIÓN ORIENTADA A OBJETOS
Conversión de String a Entero
TAMBIEN puede hacerse así:
Pedir un dato StringEl resultado se almacena
en esta variable
Cálculos y Asignaciones
SueldoTotal = HorasTrabajadas * SueldoPorHora;
Descuento = SueldoTotal * 0.08;
SueldoTotal = SueldoTotal - Descuento;
Bonos = 200;
SueldoTotal = SueldoTotal + Bonos;
PROGRAMACIÓN ORIENTADA A OBJETOS
Cálculos
Asignación
Operadores Aritméticos
+ Suma
- Resta
* Multiplicación
/ División
% Residuo de división entera
= Igualdad
++ Incremento en 1
-- Decremento en 1
PROGRAMACIÓN ORIENTADA A OBJETOS
Jerarquía:
Primero se ejecutan * / (el que está más a la izuierda)
Después se ejecutan + - (el que está más a la izuierda)
Los paréntesis alteran la jerarquía
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
Ejemplos con los Operadores de Autoincremento:
x ++ → x = x + 1
x -- → x = x - 1
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y objetos
• Una clase es básicamente un plano para un tipo de datos personalizado.
• Cuando se define una clase, se utiliza cargándola en la memoria.
• Una clase que se ha cargado en la memoria se denomina objeto o instancia.
• Se crea una instancia de una clase utilizando la palabra reservada new
PROGRAMACIÓN ORIENTADA A OBJETOS
Cómo declarar una clase
class nombre_de_la_clase
{
//contenido de la clase …
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Dentro de la clase…
• Se pueden declarar variables, propiedades, métodos, delegados, eventos,
etc.
• Cada elemento puede tener un modificador de acceso.
• Un modificador de acceso especifica quienes están autorizados a “ver” ese
elemento.
• Si no se especifica ningún modificador de acceso, se asume que se trata de
un elemento “private”.
PROGRAMACIÓN ORIENTADA A OBJETOS
Modificadores de acceso
Cuando no se indica el modificador de acceso por default es private
• public: Accesible a todos los elementos
• private: Accesible solo a esa misma clase
• protected: Accesible solo a la misma clase y métodos de sus clases
derivadas. No accesible desde el exterior.
• internal: Accesible solo a ese ensamblado
• protected internal: Accesible desde el mismo ensamblado, la misma clase y
métodos de sus clases derivadas
PROGRAMACIÓN ORIENTADA A OBJETOS
Modificadores de acceso
PROGRAMACIÓN ORIENTADA A OBJETOS
Atributos o campos
• Un atributo o campo es un dato
común a todos los objetos de una
determinada clase.
• Las variables declaradas dentro
de una clase son ejemplos de
atributos o campos.
PROGRAMACIÓN ORIENTADA A OBJETOS
// Ejemplo de una clase
class CuentaBancaria
{
public string strNombreCliente;
public DateTime dtmFechaDeInversion;
private double _dblSaldo;
public int CalcularDiasDeInversion() {
…
}
private double ConsultarSaldo() {
…
}
public void Depositar(double
dblCantidad, DateTime dtmFecha) {
…
}
public bool OtorgarBono() {
…
}
}// fin de la clase
PROGRAMACIÓN ORIENTADA A OBJETOS
Crear objetos: Instanciación
• Una vez creada la clase, ya es posible “consumirla” mediante la
instanciación.
• La instanciación es el proceso de crear objetos a partir de una clase.
Ejemplo en dos pasos:
ClaseA miobjetoA;
miobjetoA = new ClaseA();
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;
• Lectura:
miVariable = miobjetoA.Numero2;
PROGRAMACIÓN ORIENTADA A OBJETOS
Nombre
del objeto
Selección Miembro Operación
Ejercicio
• Utilizando POO hacer programa para solucionar el área de un círculo:
Fórmula=pi*(r*r)
• Debes declarar la clase Circle y heredarla en un objeto llamado circulo,
• Dentro de la clase debes declarar el constructor correspondiente y un
método que calcule el área del circulo regresando el valor correspondiente
a la rutina principal y desplegarlo allí.
PROGRAMACIÓN ORIENTADA A OBJETOS
Métodos
• Contienen instrucciones para ejecutar al momento de ser invocados.
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).
static bool impresion(int num)
static char impresion(int num)
PROGRAMACIÓN ORIENTADA A OBJETOS
Error (misma firma)
Ejemplo de Sobrecarga
class Impresion {
public void Imprimir() {
Console.WriteLine("Sistema de Usuarios");
}
public void Imprimir(string mensaje){
Console.WriteLine(mensaje);
}
public void Imprimir (string titulo, string mensaje) {
Console.WriteLine("===== " + titulo + " =====");
Console.WriteLine(mensaje);
}
}// fin de la clase
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo de Sobrecarga…
class Programa {
static void Main() {
Impresion im = new Impresion ();
im.Imprimir();
im.Imprimir("Siga las instrucciones en pantalla",
"Use minusculas");
im.Imprimir(" Gracias! ");
Console.ReadLine();
}
}// fin de la clase
PROGRAMACIÓN ORIENTADA A OBJETOS
Método constructor
• Método especial que es invocado automáticamente cada vez que un objeto
nuevo es creado (new).
• Debe poseer el mismo nombre de la clase.
• No posee tipo de dato de retorno.
• Si la clase no posee un constructor, C# crea uno vacío por default.
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué es un constructor?
Ejemplo:
class Persona {
public string Nombre;
public Persona() {
Nombre = "Desconocido";
}
}
PROGRAMACIÓN ORIENTADA A OBJETOS
class Programa {
static void Main() {
Persona unaPersona = new
Persona();
Console.WriteLine(
unaPersona.Nombre);
Console.ReadLine();
}
}
Constructor con parámetros
class Persona {
public string Nombre;
public Persona(string Nombre) {
this.Nombre = Nombre;
}
}
class Programa {
static void Main() {
Persona otraPersona = new
Persona("Ramóan");
Console.WriteLine(
otraPersona.Nombre);
Console.ReadLine();
}
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicio: basándose en los dos ejemplos anteriores realice un
programa utilizando métodos constructores sobrecargados, deben
ser al menos dos métodos, y también debe realizar las funciones
get() y set() correspondientes el atributo Nombre.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicio: Utilizando POO hacer un programa que solucione el problema de una
gasolinera, sus bombas surten la gasolina en galones pero la cobran en litros,
mostrar en pantalla cuanto se debe cobrar dependiendo de la cantidad de
galones vendidos y el precio de la gasolina (precio variable), un galón equivale a
3.785 litros.
• Debe declarar los constructores que se requieran
• Debe utilizar dos clases, una para realizar los cálculos y otra para capturar valor
inicial y mostrar resultados.
• En la clase que realiza cálculos las variables deben ser privadas por lo que debe
tener tantos métodos get() y set() sean necesarios.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
• Utilizando POO hacer programa que convierta los datos de una persona, su
peso en libras y su estatura en pies (medidas americanas) a su peso a kilos y
su estatura a metros (medidas métrico-decimales):
1 libra equivale a 0.4536 kilos
1 pie equivale a 0.3047 metros
• Los valores en pies y libras debe capturarlos en la rutina main.
• En la clase adicional debe hacer un método por cada conversión y
devuelvan los valores a la rutina main donde deben ser desplegados.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicio: Utilizando POO: En un almacén se hace un 20% de descuento a los
clientes cuya compra supere los $1000. ¿Cuál será la cantidad que pagara
una persona por su compra?
PROGRAMACIÓN ORIENTADA A OBJETOS
Método destructor
• No puede llamarse explícitamente.
• Se invoca automáticamente cuando el objeto es destruido.
• Invocado por el Garbage Collector (GC) justo antes de desasignar la memoria
del objeto.
• Usado para cerrar archivos, conexiones de red, canales abiertos, etc.
• Sintaxis similar al método constructor, pero anteponiendo una tilde (~) al
nombre.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué es un destructor?
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo de un destructor
class Empleado {
~Empleado() {
Console.WriteLine("Se ha destruido el Empleado ");
Console.ReadLine();
}
}
Al ejercicio anterior agregue un destructor (diapositiva 38).
PROGRAMACIÓN ORIENTADA A OBJETOS
Destrucción de objetos
• C# gestiona la memoria de modo automático mediante el “recolector de
basura” (Garbage Collector o GC), quien se encarga de eliminar la memoria
que en algún momento se solicitó y no se ocupa mas.
• En C# no existe el operador contrario a “new”.
• Por lo que, de manera general, NO es posible controlar exactamente el
momento en el cual la memoria vuelve a estar disponible.
• Se puede indicar en el programa cuando un objeto deja de ser util,
asignándole el valor “null”: miObjeto = null;
• Cuando el GC lo note tomará cartas en el asunto.
• El instante preciso en que el objeto sea destruido queda fuera del alcance
del programador.
PROGRAMACIÓN ORIENTADA A OBJETOS
El Garbage Collector (GC recolector de basura):
Se asegura que:
• Los objetos son destruidos una sola vez.
• Se destruyan objetos que ya no son utilizados.
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 (una 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
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
== Igual
!= Diferente
PROGRAMACIÓN ORIENTADA A OBJETOS
Operadores Lógicos
&& AND (Y)
|| OR (O)
! NOT (NO)
Decisiones (if)
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() { }
for (x=inicio; x<=fin ; x=x+incremento )
{
//cuerpo del ciclo…
}
PROGRAMACIÓN ORIENTADA A OBJETOS
Ciclo while { }
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
• Organizan los diferentes componentes
• Un programa puede contener varios namespaces
• Un namespace puede contenermuchas clases
• El programador puede crear sus propiosnamespaces
• Para accesar a namespaces se usa la directiva using:
using System;
using System.Array;
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica :
• Hacer un programa que capture un base y altura de un triángulo y
despliegue un menú básico con las siguientes opciones:
1) Área del Triángulo
2) Perímetro del Triángulo
3) Superficie del Triángulo
• Si el número capturado es distinto a los mencionados el programa termina.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicios con ciclos y condiciones
• Utilizando POO escribe un programa que capture un número en la rutina
principal y por medio de un método de la clase calcule la tabla de
multiplicar de ese numero desde el 1 hasta el diez.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
• Utilizando POO escribe un programa que capture un número en la rutina
principal y por medio de un método en clase calcule el factorial de un
número entero
PROGRAMACIÓN ORIENTADA A OBJETOS
Sobrecarga de métodos
• Un método sobrecargado se utiliza para reutilizar el nombre de un método
pero con diferentes argumentos (opcionalmente un tipo diferente de
retorno).
Las reglas para sobrecargar un método son las siguientes:
• Los métodos sobrecargados deben de cambiar la lista de argumentos.
• Pueden cambiar el tipo de retorno.
• Pueden cambiar el modificador de acceso.
• Pueden declarar nuevas o más amplias excepciones.
• Un método puede ser sobrecargado en la misma clase o en una subclase.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejercicio de sobrecarga
• Utilizando POO desarrolla un programa que capture un número en a rutina
principal y calcule el valor absoluto del mismo dentro de una clase, este
puede ser int, short, o long.
• Debes crear un método sobrecargado por cada tipo de dato que regrese el
resultado a la rutina principal.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica de sobrecarga
• Escribe un programa que realice la suma de dos números utilizando
sobrecarga de la siguiente forma:
• Sumar entero y entero: retorna entero;
• Sumar flotante y flotante: retorna flotante;
• Sumar flotante y entero: retorna flotante;
• Sumar entero y flotante: retorna flotante;
PROGRAMACIÓN ORIENTADA A OBJETOS
Evidencia de la unidad
• Con las técnicas que hemos visto hasta ahora escribe un programa que
calcule el impuesto a pagar por importación en una aduana bajo las
siguientes condiciones:
• El artículo puede ser nuevo o usado.
• Los artículos nuevos pagan IEPS que consiste en 10% del valor
• Los artículos usados no pagan IEPS
• Los artículos que provienen de USA y CAN no pagan Impuesto General a
la Importación (IGE)
• Los artículos que provienen de cualquier otro país pagan 5% de IGE
• Todos los artículos pagan IVA
• Al final desplegar el total por impuesto y el total general de impuestos,
así como el valor total de las mercancías importadas.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Debes realizar tantas clases sean necesarias.
• Los atributos locales en las clases deben ser privados.
• Debes crear tantos constructores y destructores se requieran.
• La clase Program solo puede capturar valores e imprimir resultados pero no
realizar cálculos.
¡Muchas suerte!
PROGRAMACIÓN ORIENTADA A OBJETOS
Bibliografía
• Landa, N. (2010) . C# guía total del programador. RedUsers. Buenos Aires.
ISBN 978-987-26013-5-5.
• López, B. (2018). Curso de Programación Orientada a Objetos en C#.Net.
Disponible en: http://www.itnuevolaredo.edu.mx/takeyas
PROGRAMACIÓN ORIENTADA A OBJETOS

Más contenido relacionado

La actualidad más candente

Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Maria Garcia
 
Diagramas De Despligue Uml
Diagramas De Despligue UmlDiagramas De Despligue Uml
Diagramas De Despligue Umlarcangelsombra
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Logica de predicado
Logica de predicadoLogica de predicado
Logica de predicadorober_09
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLGabriel Cortez
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Glosario de desarrollo del software
Glosario de desarrollo del softwareGlosario de desarrollo del software
Glosario de desarrollo del softwareRamon Ledezma
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 

La actualidad más candente (20)

Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)Conceptos básicos de programación orientada a objetos (poo)
Conceptos básicos de programación orientada a objetos (poo)
 
Diagramas De Despligue Uml
Diagramas De Despligue UmlDiagramas De Despligue Uml
Diagramas De Despligue Uml
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Logica de predicado
Logica de predicadoLogica de predicado
Logica de predicado
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
Programación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UMLProgramación Orientada a Objetos (POO) y UML
Programación Orientada a Objetos (POO) y UML
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Glosario de desarrollo del software
Glosario de desarrollo del softwareGlosario de desarrollo del software
Glosario de desarrollo del software
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 

Similar a Programación Orientada a Objetos - Unidad 2: clases y objetos

Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosAntonio Palomares Sender
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 

Similar a Programación Orientada a Objetos - Unidad 2: clases y objetos (20)

Framework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetosFramework .NET 3.5 07 Programación orientada a objetos
Framework .NET 3.5 07 Programación orientada a objetos
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
1 -programacion_oo
1  -programacion_oo1  -programacion_oo
1 -programacion_oo
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
Clases y objetos
Clases y objetosClases y objetos
Clases y objetos
 
02 tda1 t2018
02 tda1 t201802 tda1 t2018
02 tda1 t2018
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
03 Oop
03   Oop03   Oop
03 Oop
 
Conceptos basicos POO
Conceptos basicos POOConceptos basicos POO
Conceptos basicos POO
 
Unidad II_1.pptx
Unidad II_1.pptxUnidad II_1.pptx
Unidad II_1.pptx
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 

Último

Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)Ricardo705519
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOFritz Rebaza Latoche
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfOmarPadillaGarcia
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - RevitDiegoAlonsoCastroLup1
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaAndreBarrientos3
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.pptoscarvielma45
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfRonaldLozano11
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZgustavoiashalom
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 

Último (20)

Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdfSesion 6 _ Curso Integrador II_TSZVQJ.pdf
Sesion 6 _ Curso Integrador II_TSZVQJ.pdf
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Herramientas de la productividad - Revit
Herramientas de la productividad - RevitHerramientas de la productividad - Revit
Herramientas de la productividad - Revit
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Ejemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieriaEjemplos aplicados de flip flops para la ingenieria
Ejemplos aplicados de flip flops para la ingenieria
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 

Programación Orientada a Objetos - Unidad 2: clases y objetos

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Programación Orientada a Objetos Unidad 2: Clases y Objetos www.itsguasave.edu.mx
  • 2. PROGRAMACIÓN ORIENTADA A OBJETOS Competencia de la unidad: Aplica los conceptos de clases y objetos en el desarrollo de programas para solución de problemas de acuerdo al paradigma orientado a objetos.
  • 3. Lenguaje de programación a utilizar • C # (Visual Studio para trabajar en modo consola) PROGRAMACIÓN ORIENTADA A OBJETOS
  • 4. Estructura básica de un programa en C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { //declaración de variables globales static void Main(string[] args) { } } } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. Impresión de información (Proyectos de Consola) Console.WriteLine (" Hola "); Console.WriteLine( Sueldo ); Console.WriteLine ( " Mi nombre es {0} y gano {1} ", Nombre, Sueldo); Console.WriteLine (" Nombre: " + Nombre); PROGRAMACIÓN ORIENTADA A OBJETOS Parámetros de sustitución Concatenación
  • 9. Sentencias using Si se agregan al inicio de la clase, NO es necesario repetirlas en cada instrucción. Por ejemplo, si al inicio de la clase se agrega: using System; puede usarse durante toda la clase: Console.WriteLine( “ Hola Mundo ” ); en lugar de: System.Console.WriteLine( “Hola Mundo ” ); PROGRAMACIÓN ORIENTADA A OBJETOS
  • 10. Pedir Datos (captura en proyectos de consola) Nombre = Console.ReadLine(); HorasTrabajadas = Convert.ToInt32(Console.ReadLine()); HorasTrabajadas = int.Parse(Console.ReadLine()); PROGRAMACIÓN ORIENTADA A OBJETOS Conversión de String a Entero TAMBIEN puede hacerse así: Pedir un dato StringEl resultado se almacena en esta variable
  • 11. Cálculos y Asignaciones SueldoTotal = HorasTrabajadas * SueldoPorHora; Descuento = SueldoTotal * 0.08; SueldoTotal = SueldoTotal - Descuento; Bonos = 200; SueldoTotal = SueldoTotal + Bonos; PROGRAMACIÓN ORIENTADA A OBJETOS Cálculos Asignación
  • 12. Operadores Aritméticos + Suma - Resta * Multiplicación / División % Residuo de división entera = Igualdad ++ Incremento en 1 -- Decremento en 1 PROGRAMACIÓN ORIENTADA A OBJETOS Jerarquía: Primero se ejecutan * / (el que está más a la izuierda) Después se ejecutan + - (el que está más a la izuierda) Los paréntesis alteran la jerarquía
  • 13. 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 Ejemplos con los Operadores de Autoincremento: x ++ → x = x + 1 x -- → x = x - 1 PROGRAMACIÓN ORIENTADA A OBJETOS
  • 14. Clases y objetos • Una clase es básicamente un plano para un tipo de datos personalizado. • Cuando se define una clase, se utiliza cargándola en la memoria. • Una clase que se ha cargado en la memoria se denomina objeto o instancia. • Se crea una instancia de una clase utilizando la palabra reservada new PROGRAMACIÓN ORIENTADA A OBJETOS
  • 15. Cómo declarar una clase class nombre_de_la_clase { //contenido de la clase … } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 16. Dentro de la clase… • Se pueden declarar variables, propiedades, métodos, delegados, eventos, etc. • Cada elemento puede tener un modificador de acceso. • Un modificador de acceso especifica quienes están autorizados a “ver” ese elemento. • Si no se especifica ningún modificador de acceso, se asume que se trata de un elemento “private”. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 17. Modificadores de acceso Cuando no se indica el modificador de acceso por default es private • public: Accesible a todos los elementos • private: Accesible solo a esa misma clase • protected: Accesible solo a la misma clase y métodos de sus clases derivadas. No accesible desde el exterior. • internal: Accesible solo a ese ensamblado • protected internal: Accesible desde el mismo ensamblado, la misma clase y métodos de sus clases derivadas PROGRAMACIÓN ORIENTADA A OBJETOS
  • 19. Atributos o campos • Un atributo o campo es un dato común a todos los objetos de una determinada clase. • Las variables declaradas dentro de una clase son ejemplos de atributos o campos. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 20. // Ejemplo de una clase class CuentaBancaria { public string strNombreCliente; public DateTime dtmFechaDeInversion; private double _dblSaldo; public int CalcularDiasDeInversion() { … } private double ConsultarSaldo() { … } public void Depositar(double dblCantidad, DateTime dtmFecha) { … } public bool OtorgarBono() { … } }// fin de la clase PROGRAMACIÓN ORIENTADA A OBJETOS
  • 21. Crear objetos: Instanciación • Una vez creada la clase, ya es posible “consumirla” mediante la instanciación. • La instanciación es el proceso de crear objetos a partir de una clase. Ejemplo en dos pasos: ClaseA miobjetoA; miobjetoA = new ClaseA(); Ejemplo en un paso: ClaseA miobjetoA = new ClaseA(); PROGRAMACIÓN ORIENTADA A OBJETOS
  • 22. Accediendo a los miembros de los objetos • Asignación: miobjetoA . Numero2 = 50; • Lectura: miVariable = miobjetoA.Numero2; PROGRAMACIÓN ORIENTADA A OBJETOS Nombre del objeto Selección Miembro Operación
  • 23. Ejercicio • Utilizando POO hacer programa para solucionar el área de un círculo: Fórmula=pi*(r*r) • Debes declarar la clase Circle y heredarla en un objeto llamado circulo, • Dentro de la clase debes declarar el constructor correspondiente y un método que calcule el área del circulo regresando el valor correspondiente a la rutina principal y desplegarlo allí. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 24. Métodos • Contienen instrucciones para ejecutar al momento de ser invocados. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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). static bool impresion(int num) static char impresion(int num) PROGRAMACIÓN ORIENTADA A OBJETOS Error (misma firma)
  • 29. Ejemplo de Sobrecarga class Impresion { public void Imprimir() { Console.WriteLine("Sistema de Usuarios"); } public void Imprimir(string mensaje){ Console.WriteLine(mensaje); } public void Imprimir (string titulo, string mensaje) { Console.WriteLine("===== " + titulo + " ====="); Console.WriteLine(mensaje); } }// fin de la clase PROGRAMACIÓN ORIENTADA A OBJETOS
  • 30. Ejemplo de Sobrecarga… class Programa { static void Main() { Impresion im = new Impresion (); im.Imprimir(); im.Imprimir("Siga las instrucciones en pantalla", "Use minusculas"); im.Imprimir(" Gracias! "); Console.ReadLine(); } }// fin de la clase PROGRAMACIÓN ORIENTADA A OBJETOS
  • 31. Método constructor • Método especial que es invocado automáticamente cada vez que un objeto nuevo es creado (new). • Debe poseer el mismo nombre de la clase. • No posee tipo de dato de retorno. • Si la clase no posee un constructor, C# crea uno vacío por default. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 32. PROGRAMACIÓN ORIENTADA A OBJETOS ¿Qué es un constructor?
  • 33. Ejemplo: class Persona { public string Nombre; public Persona() { Nombre = "Desconocido"; } } PROGRAMACIÓN ORIENTADA A OBJETOS class Programa { static void Main() { Persona unaPersona = new Persona(); Console.WriteLine( unaPersona.Nombre); Console.ReadLine(); } }
  • 34. Constructor con parámetros class Persona { public string Nombre; public Persona(string Nombre) { this.Nombre = Nombre; } } class Programa { static void Main() { Persona otraPersona = new Persona("Ramóan"); Console.WriteLine( otraPersona.Nombre); Console.ReadLine(); } } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 35. Ejercicio: basándose en los dos ejemplos anteriores realice un programa utilizando métodos constructores sobrecargados, deben ser al menos dos métodos, y también debe realizar las funciones get() y set() correspondientes el atributo Nombre. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 36. Ejercicio: Utilizando POO hacer un programa que solucione el problema de una gasolinera, sus bombas surten la gasolina en galones pero la cobran en litros, mostrar en pantalla cuanto se debe cobrar dependiendo de la cantidad de galones vendidos y el precio de la gasolina (precio variable), un galón equivale a 3.785 litros. • Debe declarar los constructores que se requieran • Debe utilizar dos clases, una para realizar los cálculos y otra para capturar valor inicial y mostrar resultados. • En la clase que realiza cálculos las variables deben ser privadas por lo que debe tener tantos métodos get() y set() sean necesarios. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 37. Práctica: • Utilizando POO hacer programa que convierta los datos de una persona, su peso en libras y su estatura en pies (medidas americanas) a su peso a kilos y su estatura a metros (medidas métrico-decimales): 1 libra equivale a 0.4536 kilos 1 pie equivale a 0.3047 metros • Los valores en pies y libras debe capturarlos en la rutina main. • En la clase adicional debe hacer un método por cada conversión y devuelvan los valores a la rutina main donde deben ser desplegados. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 38. Ejercicio: Utilizando POO: En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000. ¿Cuál será la cantidad que pagara una persona por su compra? PROGRAMACIÓN ORIENTADA A OBJETOS
  • 39. Método destructor • No puede llamarse explícitamente. • Se invoca automáticamente cuando el objeto es destruido. • Invocado por el Garbage Collector (GC) justo antes de desasignar la memoria del objeto. • Usado para cerrar archivos, conexiones de red, canales abiertos, etc. • Sintaxis similar al método constructor, pero anteponiendo una tilde (~) al nombre. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 40. ¿Qué es un destructor? PROGRAMACIÓN ORIENTADA A OBJETOS
  • 41. Ejemplo de un destructor class Empleado { ~Empleado() { Console.WriteLine("Se ha destruido el Empleado "); Console.ReadLine(); } } Al ejercicio anterior agregue un destructor (diapositiva 38). PROGRAMACIÓN ORIENTADA A OBJETOS
  • 42. Destrucción de objetos • C# gestiona la memoria de modo automático mediante el “recolector de basura” (Garbage Collector o GC), quien se encarga de eliminar la memoria que en algún momento se solicitó y no se ocupa mas. • En C# no existe el operador contrario a “new”. • Por lo que, de manera general, NO es posible controlar exactamente el momento en el cual la memoria vuelve a estar disponible. • Se puede indicar en el programa cuando un objeto deja de ser util, asignándole el valor “null”: miObjeto = null; • Cuando el GC lo note tomará cartas en el asunto. • El instante preciso en que el objeto sea destruido queda fuera del alcance del programador. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 43. El Garbage Collector (GC recolector de basura): Se asegura que: • Los objetos son destruidos una sola vez. • Se destruyan objetos que ya no son utilizados. 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
  • 44. Práctica: • Utilizando POO diseñe una clase para un rectángulo, añada los métodos necesarios (una 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
  • 45. Operadores Relacionales > Mayor que < Menor que >= Mayor o igual que <= Menor o igual que == Igual != Diferente PROGRAMACIÓN ORIENTADA A OBJETOS Operadores Lógicos && AND (Y) || OR (O) ! NOT (NO)
  • 46. Decisiones (if) 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
  • 47. 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
  • 48. Ciclo for() { } for (x=inicio; x<=fin ; x=x+incremento ) { //cuerpo del ciclo… } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 49. Ciclo while { } while ( condicion ) { //cuerpo del ciclo… } PROGRAMACIÓN ORIENTADA A OBJETOS
  • 50. Ciclo do { } while( ) do { //cuerpo del ciclo… } while ( condicion ); PROGRAMACIÓN ORIENTADA A OBJETOS
  • 51. Namespace • Organizan los diferentes componentes • Un programa puede contener varios namespaces • Un namespace puede contenermuchas clases • El programador puede crear sus propiosnamespaces • Para accesar a namespaces se usa la directiva using: using System; using System.Array; PROGRAMACIÓN ORIENTADA A OBJETOS
  • 52. Práctica : • Hacer un programa que capture un base y altura de un triángulo y despliegue un menú básico con las siguientes opciones: 1) Área del Triángulo 2) Perímetro del Triángulo 3) Superficie del Triángulo • Si el número capturado es distinto a los mencionados el programa termina. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 53. Ejercicios con ciclos y condiciones • Utilizando POO escribe un programa que capture un número en la rutina principal y por medio de un método de la clase calcule la tabla de multiplicar de ese numero desde el 1 hasta el diez. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 54. Práctica: • Utilizando POO escribe un programa que capture un número en la rutina principal y por medio de un método en clase calcule el factorial de un número entero PROGRAMACIÓN ORIENTADA A OBJETOS
  • 55. Sobrecarga de métodos • Un método sobrecargado se utiliza para reutilizar el nombre de un método pero con diferentes argumentos (opcionalmente un tipo diferente de retorno). Las reglas para sobrecargar un método son las siguientes: • Los métodos sobrecargados deben de cambiar la lista de argumentos. • Pueden cambiar el tipo de retorno. • Pueden cambiar el modificador de acceso. • Pueden declarar nuevas o más amplias excepciones. • Un método puede ser sobrecargado en la misma clase o en una subclase. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 56. Ejercicio de sobrecarga • Utilizando POO desarrolla un programa que capture un número en a rutina principal y calcule el valor absoluto del mismo dentro de una clase, este puede ser int, short, o long. • Debes crear un método sobrecargado por cada tipo de dato que regrese el resultado a la rutina principal. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 57. Práctica de sobrecarga • Escribe un programa que realice la suma de dos números utilizando sobrecarga de la siguiente forma: • Sumar entero y entero: retorna entero; • Sumar flotante y flotante: retorna flotante; • Sumar flotante y entero: retorna flotante; • Sumar entero y flotante: retorna flotante; PROGRAMACIÓN ORIENTADA A OBJETOS
  • 58. Evidencia de la unidad • Con las técnicas que hemos visto hasta ahora escribe un programa que calcule el impuesto a pagar por importación en una aduana bajo las siguientes condiciones: • El artículo puede ser nuevo o usado. • Los artículos nuevos pagan IEPS que consiste en 10% del valor • Los artículos usados no pagan IEPS • Los artículos que provienen de USA y CAN no pagan Impuesto General a la Importación (IGE) • Los artículos que provienen de cualquier otro país pagan 5% de IGE • Todos los artículos pagan IVA • Al final desplegar el total por impuesto y el total general de impuestos, así como el valor total de las mercancías importadas. PROGRAMACIÓN ORIENTADA A OBJETOS
  • 59. • Debes realizar tantas clases sean necesarias. • Los atributos locales en las clases deben ser privados. • Debes crear tantos constructores y destructores se requieran. • La clase Program solo puede capturar valores e imprimir resultados pero no realizar cálculos. ¡Muchas suerte! PROGRAMACIÓN ORIENTADA A OBJETOS
  • 60. Bibliografía • Landa, N. (2010) . C# guía total del programador. RedUsers. Buenos Aires. ISBN 978-987-26013-5-5. • López, B. (2018). Curso de Programación Orientada a Objetos en C#.Net. Disponible en: http://www.itnuevolaredo.edu.mx/takeyas PROGRAMACIÓN ORIENTADA A OBJETOS