PDF de programación - 05.- Diseño e implementación de Métodos - Programación Orientada a Objetos en C# .NET

Imágen de pdf 05.- Diseño e implementación de Métodos - Programación Orientada a Objetos en C# .NET

05.- Diseño e implementación de Métodos - Programación Orientada a Objetos en C# .NETgráfica de visualizaciones

Publicado el 17 de Febrero del 2019
695 visualizaciones desde el 17 de Febrero del 2019
724,5 KB
21 paginas
Creado hace 1a (15/08/2018)
Fundamentos de Programación

CAPÍTULO 2

DISEÑO E IMPLEMENTACIÓN

DE MÉTODOS EN C#

2

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

1

Fundamentos de Programación

Preguntas detonadoras

¿Qué es un método?
¿Cuáles son los tipos de métodos? ¿En qué se parecen?

¿En qué difieren?

¿Cómo se envían datos a los métodos?
¿Cuándo se recomienda enviar parámetros por valor?

¿Cuándo por referencia? ¿Cuándo de salida?

¿Por qué son importantes los métodos para los

objetos?

¿Puede haber métodos fuera de una clase?
¿A qué se refiere el ámbito de una variable?
¿Qué es una variable local? ¿y una global?
¿Qué es la firma de un método?

3

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)

4

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

2

Fundamentos de Programación

Métodos

En C# las

subrutinas

se conocen como
métodos, se codifican como parte de una clase
y se clasifican en …

Procedimientos – NO devuelven valor

MÉTODOS

Funciones – Devuelven un valor

Ubicación de los métodos

Pueden estar encapsulados dentro de una clase
Pueden ser independientes (fuera de las clases)
Independientemente

ubicación,

de

su

pueden

interactuar

static void Main(string[ ] args)
{

double dblRadio = 10, dblArea;
dblArea = Funcion(dblRadio);
Console.WriteLine("Area=" + dblArea);
Console.ReadKey();

}

static double Funcion(double dblR)
{

return (Math.PI * dblR * dblRr);

}

5

6

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

3

Fundamentos de Programación

Llamadas a los métodos

class Program

{

static void Main(string[] args)

{

}

Metodo(); // Se invoca el método (llamada)

static void Metodo( )

{

}

}

}

. . . // Codificación

Llamadas de procedimientos

class Program

{

static void Main(string[] args)

{

}

Procedimiento(); // Llamada

static void Procedimiento( )

{

}

}

Console.Write(“Tec Laredo”);

El

procedimiento
NO devuelve

valor

7

8

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

4

Fundamentos de Programación

Parámetros recibidos por los
métodos

Por valor – Se envía una copia del valor de

la variable

Parámetros

Por referencia – Se envía la dirección de la

variable

9

10

Envío de parámetros por valor

class Program

static void Main(string[] args)

{

}

int x=10;

Metodo( x ); // Se envía el valor de x

Console.Write(“x=“ + x); // x=10

static void Metodo(int y)

La variable “y“
recibe el valor de

la variable “x”

{

}

{

}

y+=5;

Console.Write(“y=“ + y); // y=15

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

5

Fundamentos de Programación

Envío de parámetros por referencia

static void Main(string[] args)

{

}

int x = 10; // Se declara e inicializa x

Metodo(ref x); // Se envía la referencia de x

Console.WriteLine("x=" + x); // x=15

static void Metodo(ref int y)

{

}

y += 5;

Console.WriteLine("y=" + y); // y=15

¡ Se modificó el

valor de la
variable x !

Parámetros por referencia
(apuntador)

11

12

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

6

Fundamentos de Programación

Parámetros de salida (out)

static void Main(string[] args)

{

}

int x; //Se declara pero NO se inicializa la variable x

Metodo(out x); // Envía la referencia de la variable x

Console.WriteLine("x=" + x); // x=45

static void Metodo(out int y)

{

}

y = 45;

Console.WriteLine("y=" + y); // y=45

¡ Se modificó el

valor de la
variable x !

Envío de varios parámetros

static void Main(string[] args)

{

}

int a=5; // Se declara e inicializa la variable a

double b=3.2; // Se declara e inicializa la variable b

string c; // Se declara pero NO se inicializa la variable c

Metodo(a, ref b, out c);

Console.WriteLine(“a=" + a); // a=5

Console.WriteLine(“b=" + b); // b=6.4

Console.WriteLine(“c=" + c); // c=“Tec Laredo”

static void Metodo(int x, ref double y, out string z)

{

}

x+=8;

y*=2;

z=“Tec Laredo”;

13

14

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

7

Fundamentos de Programación

Firma de un método

Se conoce como la firma de un método al conjunto

de parámetros que recibe y se forma de:
Cantidad de parámetros recibidos
Orden de los parámetros
Tipos de datos

Deben coincidir los parámetros enviados con la

firma del método

15

Sintaxis de los métodos

< tipoValorDevuelto > < nombreMétodo > (< parámetros >)
{

< cuerpo >

}

Ejemplo:

void Saludo( )

void significa que NO

devuelve valor (procedimiento)

{

}

Console.Write(“Hola”);

16

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

8

Fundamentos de Programación

Ejemplo de un método
(en la clase)

Modificador
de acceso

Tipo de dato
del valor regresado

Identificador

Parámetros

class Automovil
{

public string Encender()
{

return("El automóvil se ha encendido!");

}

}

Procedimientos

static void Imprimir()
{

Console.WriteLine(Nombre);
Console.WriteLine(Edad);
Console.WriteLine(Sueldo);

}

17

18

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

9

Fundamentos de Programación

Funciones

static int Sumar() // Devuelve un valor de tipo numérico entero

static double Calcular() // Devuelve un valor de tipo numérico real
static string Comparar() // Devuelve un valor de tipo cadena

static double CalcularArea()
{

return(Math.PI * Math.Pow(Radio,2));

}

19

Métodos que retornan valores

El “Tipo de dato” del método NO es “void”.
Dentro del método debe haber una sentencia “return” con algún valor del

tipo de dato del método.
Ejemplo (Al declararlo):

public string ConsultarEstado()
{

string strEstado=“Disponible”;
return strEstado;

}

Al llamar al método (desde el programa):
string strEstadoActual = miCarro.ConsultarEstado();

20

20

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

10

Fundamentos de Programación

Llamadas de métodos que retornan
valor (funciones)

static void Main(string[ ] args)

Parámetro enviado

a la función

{

}

double dblRadio = 10, dblArea;

dblArea = CalcularArea(dblRadio);

Console.WriteLine("Area=" + dblArea);

Variable
receptora

Valor devuelto por la

función

static double CalcularArea(double dblR)

{

}

return (Math.PI * Math.Pow(dblR, 2));

Invocando al método
(en el programa)

Carro miCarro = new Carro();

miCarro.Encender();

Nombre del
objeto

Nombre del
método

Parámetros

21

22

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

11

Fundamentos de Programación

Invocando métodos

class Arbol

{

}

public void Podar( )

{

}

. . .

Arbol miFresno = new Arbol(); // Se crea el objeto
//Se invoca el método Podar() del objeto miFresno
miFresno.Podar();

23

Uso de mutator y accessor

Al trabajar con objetos, primero deben introducirse los
valores de sus atributos y después ejecutar las acciones

invocando sus métodos.

24

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

12

Fundamentos de Programación

Diagramas de flujo de los métodos
de una clase

Circunferencia.ModificarRadio(double dblR): void

Circunferencia.ConsultarRadio(): double

_dblRadio = dblR

return

return( _dblRadio )

Circunferencia.CalcularArea(): double

Circunferencia.CalcularPerimetro(): double

Declaraciones locales:

dblArea: double

Declaraciones locales:
dblPerimetro: double

dblArea = Math.PI * _dblRadio * _dblRadio

dblPerimetro = Math.PI * _dblRadio * 2

return(dlbArea)

return(dlbPerimetro)

25

Codificación de la clase

class Circunferencia

{

// Declaración del atributo privado
private double _dblRadio;

// Mutator
public void ModificarRadio(double dblR)
{

_dblRadio = dblR;

}

// Accessor
public double ConsultarRadio()
{

return (_dblRadio);

}

// Método público para calcular el área
public double CalcularArea()
{

// Declaración de variable local
double dblArea;

dblArea=Math.PI * _dblRadio * _dblRadio;

return (dblArea); // Devuelve el resultado

}

// Método público para calcular el perímetro
public double CalcularPerimetro()
{

// Declaración de variable local
double dblPerimetro;

dblPerimetro=Math.PI * _dblRadio * 2;

return (dblPerimetro);

// Devuelve el resultado

}

}

26

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

13

Fundamentos de Programación

Ámbito de las variables

El ámbito de una variable define dónde puede

usarse esa variable (según dónde se declare)

Una variable local declarada en un bloque de
programa, sólamente puede ser usada en ese
bloque

El ámbito de una variable también aplica a los

métodos y a los ciclos

Ámbito de las variables

Ámbito de
variables

Locales – Se declaran y utilizan dentro de
un contexto específico. No se puede hacer
referencia
a ellas fuera de la sección de
código donde se declara.

Globales – Se declaran fuera del cuerpo de
cualquier método

28

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

14

Fundamentos de Programación

Ámbito de variables en un ciclo for

for(int x = 1; x<=10; x++)
{

Console.Write(x);

}

Console.Write(x);

29

Variables locales en métodos

Son variables que se declaran dentro de un

método

Una variable local

solamente puede ser

utilizada por el método que la declara

Los parámetros que recibe un método son

variables locales

Las variables declaradas dentro del método

Main() son locales

Ing. Bruno López Takeyas, M.C.
http://www.itnuevolaredo.edu.mx/Takeyas

15

Fundamentos de Programación

Ejemplo de variables locales

class Program
  • Links de descarga
http://lwp-l.com/pdf15273

Comentarios de: 05.- Diseño e implementación de Métodos - Programación Orientada a Objetos en C# .NET (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad